在 Azure SQL 中批量插入 Parquet 文件

Jul*_*ayi 3 sql-server azure azure-sql-database

我正在尝试根据此处的示例将 parquet 文件加载到 Azure SQL 数据库中。但是,我收到语法错误。我在 Microsoft 网站上没有看到太多文档,在 Google 上没有看到足够的信息。所以,在这里寻求专家的帮助。仅供参考 - 我已经创建了 DATA_SOURCE。

创建外部数据源:

CREATE EXTERNAL DATA SOURCE [my_azure_blob_storage]
WITH (
        LOCATION = N'abfss://xxxxxxx.dfs.core.windows.net', 
        CREDENTIAL = [myblobStorage] ,
        TYPE = BLOB_STORAGE
);
Run Code Online (Sandbox Code Playgroud)

进行批量插入:

BULK INSERT [dbo].[Employees]
FROM 'gold/employees'
WITH
    (
        DATA_SOURCE = 'my_azure_blob_storage',
        FORMAT = 'PARQUET',
        FIRSTROW = 2
    );
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

消息 102,级别 15,状态 1,第 6 行“FORMAT”附近的语法不正确。

Dav*_*oft 5

目前BULK INSERTOPENROWSET支持的唯一格式是 CSV。

可以使用 Azure 数据工厂或 Spark 从 parquet 文件批量加载 SQL Server,或者为 BULK INSERT 或 OPENROWSET 准备 CSV 文件。

更新: OPENROWSET SQL Server 2022中添加了对 Delta 和 Parquet 的支持。

  • MSFT 正在致力于在整个生态系统中增加对 Parquet 的支持,但据我所知,目前还没有任何路线图公告。Azure Databricks 或 Synapse Spark (https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-overview) 是 Azure 上的两个托管 Spark 服务。尽管 Spark 是一个 Apache 项目,您可以将其安装在任何您想要的位置。 (2认同)