【发布时间】:2019-02-24 10:18:41
【问题描述】:
读取 CSV 文件然后写入 parquet,有没有办法节省 128 MB parquet 块?
我当前的代码是:
filtredDf
.repartition(96, "mypart")
.write
.option("compression", "snappy")
.option("parquet.block.size", 32 * 1024 * 1024)
.mode(SaveMode.Append)
.partitionBy("mypart")
.parquet(targetDirectory)
parquet.block.size 似乎没有任何效果。在每次运行时,它都会创建一个 parquet 文件。据我了解,我应该使用 .repartition 和 .coalesce 来定义创建文件的数量,但这假设我知道我正在编写的数据的大小......
有什么好的做法?
【问题讨论】:
-
看看这里 (
parquet.block.size) https://stackoverflow.com/questions/27194333/how-to-split-parquet-files-into-many-partitions-in-spark
标签: apache-spark block parquet partition