spark重分区问题为filesize



需要合并小的拼花文件。我在hdfs中有多个小的拼花文件。我喜欢将这些拼花文件每个合并到128 mb左右2. 所以我使用spark。read()读取所有文件然后用repartition()写入hdfs的位置

我的问题是我有大约7.9 GB的数据,当我重新分区并保存到hdfs时,它接近22 GB。

我尝试了repartition, range, colasce但是没有得到解决

我认为这可能与您的重分区操作有关。你正在使用。repartition(10),所以Spark将使用RoundRobin来重新分区你的数据,所以可能顺序会改变。数据的顺序在压缩过程中很重要,您可以在这个问题中了解更多信息

您可以尝试按表达式添加排序或重新分区数据,而不是仅按分区数来优化文件大小

最新更新