雪花 - Azure 文件上传 - 如果文件大小超过 40MB,我如何对文件进行分区
Posted
技术标签:
【中文标题】雪花 - Azure 文件上传 - 如果文件大小超过 40MB,我如何对文件进行分区【英文标题】:Snowflake - Azure File upload - How can i partition the file if size is more than 40MB 【发布时间】:2021-04-14 21:40:00 【问题描述】:我必须使用 COPYINTO 命令将雪花表中的数据上传到 Azure BLOB。我拥有的复制命令适用于 SINGLE = TRUE 属性,但如果大小超过 40MB,我想将其分成多个文件。
例如,雪花中有一个 100MB 的表“TEST”,我想将这些数据上传到 azure BLOB 中。
copy into 命令应该创建以下格式的文件 TEST_1.csv (40MB) TEST_2.csv (40MB) TEST_3.csv (20MB)
--COPY INTO 命令我正在使用
copy into @stage/test.csv from snowflake.test file_format = (format_name = PRW_CSV_FORMAT) header=true OVERWRITE = TRUE SINGLE = TRUE max_file_size = 40000000
【问题讨论】:
请提供您正在运行的 COPY INTO 语句以创建多个文件,并说明您在运行时遇到的错误/问题? 【参考方案1】:我们无法控制文件卸载的输出大小,只能控制最大文件大小。文件的数量和大小基于并行操作时的最大性能。如果您想控制文件的数量/大小,那将是一个功能请求。否则,只需在 Snowflake 之外制定一个流程,然后再合并文件。更多卸载详情请参考blog
【讨论】:
以上是关于雪花 - Azure 文件上传 - 如果文件大小超过 40MB,我如何对文件进行分区的主要内容,如果未能解决你的问题,请参考以下文章