1

我将 spark.shuffle.spill 设置为 false,但是当我检查执行程序日志时,spark 1.5.0 中仍然发生溢出。我搜索了 spark github repo,发现他们将在 1.6.0 中忽略此配置参数,并在必要时继续溢出。但是我使用的是1.5.0,不知道在早期版本中是否已经生效。

4

1 回答 1

0

您唯一能做的就是降低用于洗牌的内存量限制,但这并不能保证您可以完全避免它。如果洗牌所需的内存量超过可用内存量,则必须将数据溢出到磁盘。

1.6.0 引入了统一的内存管理(参见SPARK-10000),因此限制不再有意义。

于 2015-12-16T00:36:44.187 回答