gpt4 book ai didi

apache-spark - 为什么 Iceberg rewriteDataFiles 不将文件重写为一个文件?

转载 作者:行者123 更新时间:2023-12-05 03:24:03 28 4
gpt4 key购买 nike

我有一个带有 2 个 Parquet 文件的冰山表,在 s3 中存储 4 行我尝试了以下命令:

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();

但没有任何改变。我做错了什么?

最佳答案

一些注意事项:

  1. 默认情况下,Iceberg 不会压缩文件,除非每个文件组和每个分区都有最小数量的小文件可供压缩。默认值为 5。
  2. Iceberg 不会跨分区压缩文件,因为一个文件必须 1:1 映射到分区值的元组。
    • 举个例子:对于由 col1 和 col2 分区的表,col1=A 和 col2=1 的文件不能与 col1=A 和 col2=4 的文件压缩

在您的情况下,如果将 min-input-files 设置为 2,前提是文件属于同一分区或表未分区,则文件应压缩在一起。

关于apache-spark - 为什么 Iceberg rewriteDataFiles 不将文件重写为一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72362044/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com