带有YARN的Spark作业中df
的值应该分配给App还是仅分配给最大值?
答案 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
定义的开销