Snowflake cloud data platform 使用“在雪花中复制到”创建多个文件

Snowflake cloud data platform 使用“在雪花中复制到”创建多个文件,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,这不是问题,但正在查找有关使用“雪花上的复制到”创建多个文件的信息 我正在使用下面的查询创建多个文件(SINGLE=FALSE)和MAX_FILE_SIZE=490000000,试图了解snowflake根据什么标准决定要创建多少文件 COPY INTO @stage/file.csv FROM (select id, name, listagg(scores) from table where id='0001') FILE_FORMAT = (type=csv compression='no

这不是问题,但正在查找有关使用“雪花上的复制到”创建多个文件的信息

我正在使用下面的查询创建多个文件(SINGLE=FALSE)和MAX_FILE_SIZE=490000000,试图了解snowflake根据什么标准决定要创建多少文件

COPY INTO @stage/file.csv
FROM (select id, name, listagg(scores) from table where id='0001')
FILE_FORMAT = (type=csv compression='none' field_delimiter=';'
empty_field_as_null=false null_if=(''))
OVERWRITE=TRUE
MAX_FILE_SIZE=4900000000;
以下是场景:

  • 我运行了一个包含51000条记录的文件,snowflake创建了4个文件,每个文件大约0.3MB
  • 我运行了一个包含10054763条记录的文件,snowflake创建了16个文件,每个文件大约32MB
  • 注意:后台连接到S3,因此这些文件将从“复制到”上载到S3,这就是为什么必须启用多个文件创建以避免创建大于S3 5GB限制的文件

    只是想了解这些分割文件是如何从雪花中创建的


    非常感谢你们提供的任何信息。谢谢。

    您无法控制文件卸载的输出大小,只能控制最大文件大小。Snowflake可能在运行#1时编写了较小的文件来并行化操作。这里有一些关于卸货的信息:同意格雷格的观点。文件的数量和大小取决于并行操作时的最大性能。如果您想要控制文件的数量/大小,这将是一个功能请求。否则,只需在Snowflake之外制定一个流程,然后合并文件。谢谢你,Greg和Suzy。感谢您的回复。