首页 > 解决方案 > 如何分析 PySpark 的 python worker 内存?

问题描述

我有一个使用 PySpark 提取特征的应用程序,但该应用程序总是因错误而终止。

Container killed by YARN for exceeding memory limits. 14.4 GB of 14 GB physical memory used.
Consider boosting spark.yarn.executor.memoryOverhead.

在 Spark Web UI 中,它总是在 combineByKey 运算符处被杀死。

从 NodeManager 的日志中可以看出,python 工作进程使用了​​这么多内存。

但我从来没有为 python 工作者设置内存。从文档中有一个spark.python.worker.memory默认设置为 512m,但是一个 python 工作进程使用了​​几乎 10g 内存,并且 yarn 杀死了容器。

为什么spark.python.worker.memory设置不起作用?

谁能告诉我一些关于分析 python 工作者内存的参考?

非常感谢。

标签: pythonapache-sparkpyspark

解决方案


推荐阅读