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

如何在Synapse专用SQL池中使用COPY命令加载Parquet格式文件

Synapse专用SQL池COPY命令加载Parquet文件配置方案

以下方案仅适用于Synapse专用SQL池,无需依赖Spark集群或无服务器SQL池能力:

  • 首先配置合法的存储访问认证,两种方案二选一即可:
    • 托管身份认证:给专用SQL池的系统托管身份分配对应存储账户的存储Blob数据参与者权限,COPY语句中指定IDENTITY = 'Managed Identity'参数
    • SAS令牌认证:生成存储容器的SAS令牌,COPY语句中指定IDENTITY = 'SAS Token', SECRET = '你的SAS令牌字符串'参数
  • 必须在COPY命令中明确指定Parquet格式参数,这是和CSV、普通gzip文件加载的核心差异,参考示例语句:
COPY INTO 你的目标表名
FROM 'https://<存储账户名>.dfs.core.windows.net/<容器名>/<Parquet文件路径>/*.parquet'
WITH (
    FILE_TYPE = 'PARQUET',
    IDENTITY = 'Managed Identity', -- 用SAS认证的话替换为对应参数
    AUTO_CREATE_TABLE = 'OFF' -- 如需自动建表可调整为ON,建议提前建好表对齐字段类型
);
  • 常见问题规避:
    • 字段类型必须对齐:Parquet的字段类型和SQL表字段类型要一一匹配,比如Parquet的INT64对应SQL的BIGINT、INT32对应INT,类型不兼容会直接加载失败
    • 列名大小写匹配:Parquet本身区分大小写,专用SQL池默认不区分大小写,如有大小写差异可以在COPY参数中添加FIELD_QUOTE = '"',或者提前统一两端列名大小写
    • 复杂类型处理:COPY命令暂不支持直接加载Parquet中的嵌套结构体、数组等复杂类型,需提前将复杂类型打平后导出Parquet,或将复杂类型序列化为JSON字符串存入SQL表的NVARCHAR(MAX)字段
    • 压缩格式无需额外配置:Parquet常用的SNAPPY、GZIP压缩格式专用SQL池可自动识别,不需要额外加压缩相关参数
  • 错误排查:加载失败时可直接查询系统视图sys.dm_pdw_errors获取具体错误信息,快速定位是权限、格式还是类型匹配问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:06:03