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

如何将Azure Synapse的SQL查询结果保存为分块压缩云存储文件

Azure Synapse 实现类似 Snowflake 的查询结果导出功能

Synapse 完全支持将 SQL 查询结果导出到 Azure Blob Storage 或 Azure Data Lake Storage (ADLS) Gen2,且能满足分块存储、压缩、自定义文件大小的需求,对应 Snowflake 的 COPY INTO @stage 和 GET 操作,主要通过以下方式实现:

1. Synapse SQL 池(专用):原生 COPY INTO 语句

用法和 Snowflake 高度相似,直接将查询结果导出到云存储:

语法示例

COPY INTO 'https://<存储账户名>.blob.core.windows.net/<容器名>/<存储路径>'
FROM (SELECT * FROM 目标表 WHERE 查询条件)
WITH (
    FILE_TYPE = 'CSV',
    COMPRESSION = 'GZIP', -- 支持 GZIP、DEFLATE、BROTLI 等压缩格式
    MAX_FILE_SIZE = 33554432, -- 设置单文件最大字节数,32MB 对应值为 33554432
    ROWTERMINATOR = '0x0A',
    FIELDTERMINATOR = ',',
    FIRST_ROW = 1,
    CREDENTIAL = (IDENTITY = 'Shared Access Signature', SECRET = '<你的SAS令牌>')
)

关键参数说明

  • MAX_FILE_SIZE:控制单文件大小,Synapse 会自动将结果分割为多个符合要求的文件
  • COMPRESSION:指定压缩格式,直接生成压缩后的 CSV 文件
  • CREDENTIAL:支持 SAS 令牌、服务主体、托管标识三种方式授权访问存储

2. Synapse 无服务器 SQL 池:CETAS 语句

如果使用无服务器池,推荐用 CREATE EXTERNAL TABLE AS SELECT (CETAS) 实现持久化导出,同样支持分块和压缩:

步骤示例

首先创建外部数据源和文件格式:

-- 创建外部数据源
CREATE EXTERNAL DATA SOURCE 存储数据源
WITH (
    LOCATION = 'https://<存储账户名>.dfs.core.windows.net/<容器名>',
    CREDENTIAL = 存储访问凭据
);

-- 创建GZIP压缩的CSV文件格式
CREATE EXTERNAL FILE FORMAT CSV_GZIP格式
WITH (
    FORMAT_TYPE = DELIMITEDTEXT,
    FORMAT_OPTIONS (
        FIELD_TERMINATOR = ',',
        ROW_TERMINATOR = '0x0A',
        FIRST_ROW = 1
    ),
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.GzipCodec'
);

然后执行CETAS导出查询结果:

CREATE EXTERNAL TABLE 外部导出表
WITH (
    LOCATION = '/导出文件存储路径/',
    DATA_SOURCE = 存储数据源,
    FILE_FORMAT = CSV_GZIP格式
)
AS SELECT * FROM 目标表 WHERE 查询条件;

CETAS 会自动将结果分割为多份文件,可通过调整查询并行度控制文件数量和大小。

3. 下载导出文件(对应 Snowflake GET)

Synapse 没有原生 SQL 命令用于下载,但可通过以下方式批量并行下载:

  • Azure Portal 直接从 Blob/ADLS 界面下载
  • Azure CLI:使用 az storage blob download-batch 命令批量下载
  • PowerShell:使用 Get-AzStorageBlobContent 脚本批量获取
  • Azure Storage Explorer:可视化工具批量选中下载

以上工具均支持并行处理多个分块文件,效果和 Snowflake GET 一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 22:52:36