首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Iceberg rewriteDataFiles不将文件重写为一个文件?

为什么Iceberg rewriteDataFiles不将文件重写为一个文件?
EN

Stack Overflow用户
提问于 2022-05-24 11:26:20
回答 1查看 626关注 0票数 3

我有一个冰山表,其中包含2个parquets文件,在s3中存储4行,我尝试了以下命令:

代码语言:javascript
复制
val tables = new HadoopTables(conf);
val table = tables.load("s3://iceberg-tests-storage/data/db/test5");    
SparkActions.get(spark).rewriteDataFiles(table).option("target-file-size-bytes", "52428800").execute();

但什么都没变。我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-24 16:16:18

几个注意事项:

默认情况下,

  1. Iceberg不会压缩文件,除非每个文件组和每个分区都可以使用最少数量的小文件。缺省值为5。

  1. Iceberg不会压缩跨分区的文件,因为一个文件必须将1:1映射到分区值的元组。以
    • 为例:对于由col1和col2分区的表,col1=A和col2=1的文件不能与col1=A和col2的文件进行压缩。

在您的情况下,如果您将min-input-files设置为2,只要文件是同一个分区的一部分,或者表没有分区,那么这些文件应该压缩在一起。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72362044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档