我将spark.shuffle.spill设置为false但是当我检查执行程序日志时,溢出仍然发生在spark 1.5.0中。我搜索了spark github repo,看到他们将在1.6.0中忽略这个配置参数,并在必要时继续溢出。但我使用的是1.5.0,我不确定它是否已在早期版本中生效。
答案 0 :(得分:0)
你唯一能做的就是减少用于改组的内存量限制,但不保证你可以完全避免它。如果混洗所需的内存量超过可用内存数据量,则必须将数据溢出到磁盘。
1.6.0引入了统一内存管理(参见SPARK-10000),因此限制不再有意义。