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

如何将Snowflake导出的NDJSON转为JSON数组并保存为单个文件?

解决Snowflake卸载JSON数组格式数据到S3的问题

要将Snowflake中的数据卸载为单个JSON数组格式的文件,而非默认的NDJSON,你需要调整查询逻辑,把每行生成的JSON对象聚合为完整数组,同时确保输出为单个文件。

修改后的COPY语句

COPY INTO @MY_STAGE/path/my_filename.json
FROM (
  SELECT TO_JSON(ARRAY_AGG(OBJECT_CONSTRUCT(*))) AS json_array
  FROM my_table
)
FILE_FORMAT = (TYPE = JSON COMPRESSION = NONE)
OVERWRITE = TRUE
SINGLE = TRUE; -- 强制生成单个输出文件

关键修改说明

  • ARRAY_AGG(OBJECT_CONSTRUCT(*)):将my_table每行转换后的JSON对象,聚合为Snowflake数组类型。
  • TO_JSON():把聚合后的Snowflake数组转换为标准的JSON数组字符串。
  • SINGLE = TRUE:强制Snowflake生成单个文件,避免数据被拆分为多个文件(若数据量超出默认文件大小限制,可搭配MAX_FILE_SIZE参数调整上限)。

注意事项

如果表数据量极大,ARRAY_AGG可能因内存限制无法完成聚合(需将全量数据加载至内存)。这种场景下可考虑分批处理后在外部拼接数组,但常规规模数据使用上述方法即可满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:01:45