gpt4 book ai didi

hadoop - 如何在 Apache Spark 中重新分区压缩文件?

转载 作者:可可西里 更新时间:2023-11-01 14:19:35 27 4
gpt4 key购买 nike

我在 HDFS 中有数千个大小为 2GB 的压缩文件。我正在使用 spark 来处理这些文件。我正在使用 Spark textFile() 方法从 HDFS 加载文件。我的问题是如何重新分区数据,以便我可以并行处理每个文件。目前每个 .gz 文件都在一个任务中处理。因此,如果我处理 1000 个文件,则只会执行 1000 个任务。我知道,压缩文件不可分割。但是有没有其他方法可以让我更快地运行我的工作?

最佳答案

您可以在加载文件后使用rdd.repartition(#partitions)。这具有相关的洗牌成本,因此您需要评估并行化的性能提升是否涵盖了这个初始洗牌成本。

另一种方法是在初始分区上执行任何转换(映射、过滤器等),并使用管道中已经存在的任何随机播放阶段对 RDD 进行重新分区。例如

rdd.map().filter().flatMap().sortBy(f, numPartitions=new#ofpartitions)

关于hadoop - 如何在 Apache Spark 中重新分区压缩文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30034245/

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