“spark.yarn.executor.memoryOverhead”设置的值?

时间:2016-12-09 09:40:53

标签: apache-spark apache-spark-sql spark-streaming apache-spark-mllib

带有YARN的Spark作业中df的值应该分配给App还是仅分配给最大值?

1 个答案:

答案 0 :(得分:22)

spark.yarn.executor.memoryOverhead

只是最大值。目标是将OVERHEAD计算为实际执行程序内存的百分比,如RDD和DataFrames所使用

--executor-memory/spark.executor.memory

控制执行程序堆大小,但JVM也可以使用堆内存,例如对于实例化的字符串和直接字节缓冲区。

spark.yarn.executor.memoryOverhead的价值 将属性添加到执行程序内存中,以确定每个执行程序对YARN的完整内存请求。它默认为max(executorMemory * 0.10,最小值为384)。

执行程序将使用基于spark.executor.memory属性的内存分配加上spark.yarn.executor.memoryOverhead定义的开销