Synapse内置无服务器SQL池的Delta Lake版本及验证方法
验证Synapse无服务器SQL池的Delta版本
很遗憾,目前没有直接的SQL命令可以查询Synapse无服务器SQL池所运行的Delta Lake版本,微软官方文档也未公开这一具体信息。不过你可以通过以下两种间接方式来验证:
方法1:测试Delta特性兼容性
Delta Lake的每个新版本都会引入新特性,你可以通过测试特定版本的特性是否被支持,来推断池的Delta版本范围:
- 比如Delta 2.0新增了列级统计功能,你可以用最新Delta版本创建一个包含列统计的测试表并上传到数据湖,然后在无服务器SQL池中尝试读取它。如果能正常查询,说明池至少支持Delta 2.0。
- 再比如Delta 1.2支持分区进化,若你能读取使用该特性的表且查询无报错,也能说明版本不低于1.2。
举个操作示例(以列统计测试为例):
- 用最新Delta版本生成带列统计的测试表,上传到数据湖指定路径。
- 在Synapse中执行读取查询:
SELECT * FROM OPENROWSET( BULK 'abfss://<container>@<storage-account>.dfs.core.windows.net/path/to/test-delta-table', FORMAT = 'DELTA' ) AS test_table
如果查询顺利返回数据,就证明池支持对应特性的Delta版本。
方法2:查看Synapse运行时版本(间接关联)
无服务器SQL池的Delta版本通常和Synapse的运行时版本绑定,你可以用以下SQL查询当前运行时版本:
SELECT @@VERSION
返回的字符串里包含Synapse的运行时信息,你可以结合微软发布的Synapse版本更新日志,大致推断对应的Delta Lake支持版本(注意:微软并未直接给出两者的映射关系,这个方法仅作参考)。
内容的提问来源于stack exchange,提问作者Tacti
相关产品推荐
相关产品推荐

