首页 > 解决方案 > 雪花:复制命令在卸载时不会为多个文件生成恒定大小

问题描述

复制到@elasticsearch/product/s3file from (select object_construct(*)from mytable) file_format = (type = json, COMPRESSION=NONE), overwrite=TRUE, single = False, max_file_size=5368709120;

该表有 2GB 的数据。我想将它们拆分为 100mb 的文件以存储在 S3 中,但 s3 将它们拆分为不均匀的文件大小。预计会有多个文件有 100MB

我需要对弹性搜索中的索引进行性能改进,我正在使用 smart_open 进行多处理。所以处理文件会很方便。谢谢

标签: snowflake-schemasnowflake-cloud-data-platform

解决方案


它不是 S3 拆分文件,它的雪花 wharehosue 大小拆分文件,就像您在复制命令中使用 SINGLE=False 一样。随着 WH 大小的增加,文件数量将增加

示例 sppouse 您使用 XS 大小 wh 运行查询,它会在 s3 上生成 8 个文件,如果您使用 M 大小 WH,那么它将在 s3 上创建 16 个文件。并且它的拆分发生在并行模式下,因此每个文件的大小可能会有所不同。它不像它创建具有您在复制命令中给出的最大限制的文件,然后启动另一个文件。


推荐阅读