如何使用 dbt 将 Azure Data Lake Gen2/Azure Blob 存储中的镶木地板文件加载到专用池?

How to load parquet files from Azure Data Lake Gen2/Azure Blob Storage to Dedicated pool using dbt?

我正在使用 dbt-synapse:https://github.com/dbt-msft/dbt-synapse 我想将我的镶木地板文件从 Azure Data Lake Gen2/Azure Blob 存储加载到 Azure Synapse 中的专用池。 我尝试使用

{{ config(materialized='table') }}
with my_table as (
    SELECT
        TOP 100 *
    FROM
        OPENROWSET(
            BULK 'myparquetfile_url',
            FORMAT = 'PARQUET'
        ) AS [result]
)

select * from my_table

但运气不好。

显示这个错误

('42000', "[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Parse error at line: 7, column: 9: Incorrect syntax near 'OPENROWSET'. (103010) (SQLExecDirectW)")

那么,如何使用 dbt 将 parquets 文件从 blob 存储加载到专用池?

遗憾的是 OPENROWSET 在 Azure Synapse Analytics 中不受支持。

有一个 GitHub 存储库,您可以使用它使用 dbt 加载外部表。您可以将其用作替代方案。

https://github.com/dbt-labs/dbt-external-tables

支持的数据库:

  • 红移(光谱)
  • 雪花
  • BigQuery
  • 火花
  • 突触
  • 蔚蓝SQL