通过 Azure Serverless SQL 池中的脚本在 Azure Synapse 和 Azure SQL Server 之间进行通信

问题描述 投票:0回答:1

我们是否能够使用 Azure Synapse sql 池(T-SQL 查询)和复杂查询来组合来自 datalake 的数据查询以读取 parquet 文件(使用 openrowset)和 Azure sql 数据库等其他来源。

这个想法是在同一个脚本查询中使用从 parquet 文件中提取数据以及从其他服务器(即 Synapse 中的 Azure sql)中提取数据。

我搜索了 Synapse 中的链接,但这需要将我们需要的所有表复制到 Synapse 数据库中。 你有什么建议吗? 谢谢。

azure azure-sql-database openrowset azure-synapse-analytics
1个回答
0
投票

Azure Synapse 工作区允许我们创建构建在数据湖之上的 SQL 数据库,但它不利用 Spark 进行管理。这种类型的数据库只能与无服务器 SQL 池一起使用。

在 Azure synapse 中创建外部表

以下是在 Synapse 无服务器 SQL 池中查询数据的示例:

SELECT *
FROM OPENROWSET(
   BULK 'https://stgsynp.dfs.core.windows.net/folder02/employee/*.parquet',
   FORMAT = 'PARQUET'
) AS rows;

正如您所提到的,ADLS 中有镶木地板文件。您还可以按照以下步骤操作并使用

OPENROWSET
:

第 1 步: 指向包含镶木地板文件的文件夹。

enter image description here

右键单击文件夹 enter image description here 选择文件格式。 enter image description here

它创建自动生成的代码,如下所示:

SELECT
    TOP 100 *
FROM
    OPENROWSET(
        BULK 'https://stgsynp.dfs.core.windows.net/folder02/employee/**',
        FORMAT = 'PARQUET'
    ) AS [result]

结果:

enter image description here

参考: 在 Azure Synapse 中使用 SQL 数据库查询数据湖 – 第 2 部分

注意:Azure Synapse 中的专用 SQL 池不支持 OPENROWSET 函数。

详细了解如何在 Azure Synapse Analytics 中使用无服务器 SQL 池使用 OPENROWSET

© www.soinside.com 2019 - 2024. All rights reserved.