由于Python代码繁重,我尝试将内存增加到
spark.python.worker.memory默认值( 512m ),并且该属性值
不计入
spark.executor.memory。
聚合期间每个python worker进程使用的内存量,格式与JVM内存字符串相同(例如512m,2g)。
如果聚合期间使用的内存超过该数量,则会将数据溢出到磁盘中
。链接
Spark中的ExecutorMemoryOverhead计算:
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邮件线程



