设置" spark.memory.storageFraction"在Spark中不起作用

时间:2017-04-20 06:51:20

标签: apache-spark

我正在尝试调整Spark的内存参数。 我试过了:

sparkSession.conf.set("spark.memory.storageFraction","0.1") //sparkSession has been created

提交作业并检查Spark UI后。我找到了#34;存储内存"仍然和以前一样。所以上面没有用。

设置" spark.memory.storageFraction"的正确方法是什么?

我正在使用Spark 2.0。

2 个答案:

答案 0 :(得分:3)

我遇到同样的问题,在看了一些来自spark github的代码后,我认为"存储内存"关于spark ui有误导性,它没有表明存储区域的大小,实际上它代表了maxMemory:

maxMemory =  (executorMemory - reservedMemory[default 384]) * memoryFraction[default 0.6]

检查这些以获取更多详细信息↓↓↓

spark ui executors-page source code

getMaxmemory source code

答案 1 :(得分:-2)

从Spark 1.6开始,执行和存储内存管理是统一的。旧模型中使用的所有内存分数现已弃用,不再读取。如果您希望使用旧内存管理,则可以明确启用spark.memory.useLegacyMode(不推荐)。

所以在我看来,火花2.0继续这些设置。