You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过SSMS连接Azure Synapse查询Databricks生成的Delta表是否可行

Azure Synapse查询Blob存储Delta表问题解答

核心结论

可以通过SSMS或Azure Data Studio连接Azure Synapse查询Blob存储中由Databricks生成的Delta格式表,你遇到的报错是连接的SQL池类型不匹配导致的。

报错原因

你当前执行SQL的连接对象是Synapse专用SQL池,该类型SQL池原生不支持直接使用OPENROWSET指定FORMAT = 'DELTA'的查询语法,因此会抛出语法解析错误。

可行实现方案

  • 方案一:切换连接到Synapse无服务器SQL池(Serverless SQL Pool)
    无服务器SQL池原生支持Delta格式的直接查询,你编写的原始查询语法在无服务器SQL池环境下可以直接运行,仅需提前配置存储访问权限:
    1. 给当前登录使用的AAD账号分配存储账户的「存储Blob数据读取者」角色权限
    2. 也可在OPENROWSET参数中追加CREDENTIAL配置,指定SAS密钥或托管身份凭据完成访问
      适配你的场景可直接运行如下SQL:
    SELECT TOP(10) * FROM OPENROWSET(
        BULK 'https://blob_container_storage.blob.core.windows.net/delta-lake/test/',
        FORMAT = 'DELTA'
    ) as rows
    
  • 方案二:必须使用专用SQL池的处理方式
    专用SQL池无法直接识别Delta格式的事务日志,你可以选择两种方式实现访问:
    1. 通过Synapse管道或者Databricks任务,将Delta表数据同步到专用SQL池的内置表后查询
    2. 创建专用SQL池外部表,直接映射Delta表存储路径下的Parquet数据文件,通过Parquet格式兼容读取数据

内容的提问来源于stack exchange,提问作者MADFROST

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:15:03