由于Python代码繁重,我尝试将内存增加到spark.python.worker.memory
默认值( ),并且该属性值。
聚合期间每个python worker进程使用的内存量,格式与JVM内存字符串相同(例如512m,2g)。 。链接
MEMORY_OVERHEAD_FRACTION = 0.10
MEMORY_OVERHEAD_MINIMUM = 384
val executorMemoryOverhead =
max(MEMORY_OVERHEAD_FRACTION * ${spark.executor.memory}, MEMORY_OVERHEAD_MINIMUM))
该属性适用spark.{yarn|mesos}.executor.memoryOverhead
于YARN和Mesos。
YARN杀死比他们要求的是这些都占用更多的内存的过程 executorMemoryOverhead
及executorMemory
。
在给定的图像中,工作进程中的python进程使用 spark.python.worker.memory
,然后spark.yarn.executor.memoryOverhead
+spark.executor.memory
是特定的JVM。
其他资源Apache邮件线程