首页 > 解决方案 > 如何调整 Spark 以避免排序磁盘溢出?

问题描述

我们有一种算法,目前以逐个分区的方式处理数据foreachPartition。我意识到这可能不是在 Spark 中处理数据的最佳方式,但从理论上讲,我们应该能够使其工作。

我们有一个问题,即 Spark 在sortWithinPartitions调用后会溢出数据,分区中有大约45 GB数据。我们的执行250 GB程序定义了内存。理论上,内存中有足够的空间来容纳数据(除非 Spark 的排序开销很大)。然而,我们经历了泄漏。有没有一种方法可以准确地计算出每个执行程序需要多少内存才能使其工作?

标签: apache-spark

解决方案


推荐阅读