使用 SSMS 从 Delta Lake Databricks 进行突触查询

Posted

技术标签:

【中文标题】使用 SSMS 从 Delta Lake Databricks 进行突触查询【英文标题】:Synapse Query from Delta Lake Databricks with SSMS 【发布时间】:2021-10-20 00:12:33 【问题描述】:

我想知道是否有任何方法可以从使用 Databricks 创建的 blob 容器中查询Delta 格式SSMSAzure Data Studio 是 SSMS 已连接到 Azure Synapse,我尝试使用此查询进行查询

SELECT TOP(10) * FROM OPENROWSET(BULK 'https://blob_container_storage.blob.core.windows.net/delta-lake/test/', FORMAT = 'DELTA') as rows

从上面的查询我得到一个这样的错误

Msg 103010, Level 16, State 1, Line 188
Parse error at line: 1, column: 22: Incorrect syntax near 'OPENROWSET'.

所以,我想问一下,是否可以使用 SSMS 或 Azure Data Studio 从突触查询 delta Lake?

【问题讨论】:

【参考方案1】:

是的,这是可能的。查看这篇文章了解详情: Query Delta Lake files (preview) using serverless SQL pool in Azure Synapse Analytics

请确保您是connecting to built-in serverless pool 因为专用池尚不支持此功能。

【讨论】:

那么,我的查询出了什么问题?为什么我得到这样的错误?因为如果它引用您的链接,则它使用的是 Synapse Analytics 上的查询 请确保您连接到内置无服务器池,因为专用池尚不支持此功能。请参阅第二个链接,说明从何处获取连接字符串... 所以基本上,专用池不能查询任何外部资源?还是只有无法访问的 Delta 格式? 这里有两件事......专用池不支持直接查询文件,使用OPENROWSET语句,因此语法错误。它也不支持 Delta 格式。它确实支持通过使用外部表对外部资源进行查询。在此处查看详细信息:docs.microsoft.com/en-us/sql/t-sql/statements/…

以上是关于使用 SSMS 从 Delta Lake Databricks 进行突触查询的主要内容,如果未能解决你的问题,请参考以下文章

导入 Pyspark Delta Lake 模块时未找到模块错误

pyspark delta-lake 元存储

Snowflake & Delta Lake两大新型数仓对比分析

如何使用Delta Lake构建批流一体数据仓库

Delta Lake 学习

Pyspark Delta Lake 捕获表不是 delta 表异常