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

Snowflake COPY INTO加载大文件:能否突破16MB默认限制?

关于Snowflake加载Azure Blob中大文件的限制问题

首先澄清一个关键误解:Snowflake的COPY INTO在**加载数据(从外部存储到Snowflake)时,并没有默认的16MB文件大小限制,它原生支持加载GB甚至TB级的大文件。你提到的16MB默认限制是针对卸载数据(Snowflake导出到外部存储)**的MAX_FILE_SIZE参数,加载场景下该参数不适用。

如果你的大文件加载出现报错,大概率是单条记录(而非整个文件)的大小超过了默认限制,可通过以下方式调整:

  • 针对JSON文件:
    默认情况下,Snowflake限制单条JSON记录的最大大小为16MB。如果你的JSON文件中存在超大单条记录,可以在定义文件格式时调整MAX_RECORD_SIZE参数,最大值可设为167772160字节(160MB)。
    示例SQL:

    CREATE OR REPLACE FILE FORMAT my_json_format
    TYPE = JSON
    MAX_RECORD_SIZE = 167772160; -- 调整为160MB
    

    若你的JSON是数组格式且外层数组包裹多条记录,确保STRIP_OUTER_ARRAY = TRUE(默认值)即可,此时Snowflake会拆分数组加载单条记录,不会触发单条记录大小限制。

  • 针对CSV文件:
    若CSV中存在超大字段导致单条记录超出16MB限制,同样可以在CSV文件格式中设置MAX_RECORD_SIZE参数调整上限:

    CREATE OR REPLACE FILE FORMAT my_csv_format
    TYPE = CSV
    FIELD_OPTIONALLY_ENCLOSED_BY = '"'
    MAX_RECORD_SIZE = 167772160;
    

如果只是担心大文件的加载效率,无需手动拆分——Snowflake会自动并行处理大文件,后台将其拆分为多个微批次加载,不影响性能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:05:08