【问题标题】:Spark Coalesce More PartitionsSpark 合并更多分区
【发布时间】:2016-10-02 12:59:38
【问题描述】:

我有一个处理大量数据并将结果写入 S3 的 spark 作业。在处理过程中,我可能有超过 5000 个分区。在写入 S3 之前,我想减少分区数量,因为每个分区都作为文件写出。

在其他一些情况下,我在处理过程中可能只有 50 个分区。如果出于性能原因我想合并而不是重新分区会发生什么。

从文档中说,仅当输出分区的数量小于输入时才应使用合并,但如果不是,会发生什么,它似乎不会导致错误?是否会导致数据不正确或性能问题?

我试图避免必须对我的 RDD 进行计数,以确定我的分区是否超过了我的输出限制,如果是,则合并。

【问题讨论】:

    标签: apache-spark rdd coalesce


    【解决方案1】:

    使用默认PartitionCoalescer,如果分区数大于当前分区数并且您没有将shuffle 设置为true,则分区数保持不变。

    另一方面,将shuffle 设置为truecoalesce 等效于具有相同值numPartitionsrepartition

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 2015-01-01
      • 2016-04-22
      • 2020-03-09
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多