【发布时间】:2019-02-15 11:53:22
【问题描述】:
我有一份火花工作,我会做以下事情
- 通过 spark sql 从 parquet 加载数据并将其转换为 熊猫df。数据大小只有 250 MB
- 运行 rdd.foreach 以 迭代相对一些数据集(1000行)并取 pandas df 从第 1 步开始并进行一些转换。
在一些迭代后,由于超出内存限制错误,我得到一个被 YARN 杀死的容器。
Container killed by YARN for exceeding memory limits. 14.8 GB of 6 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead
我无法理解为什么错误显示使用了 14.8 GB 的 6 GB 物理内存?
我尝试增加 spark.yarn.executor.memoryOverhead 我使用了以下命令
spark-submit --master yarn --deploy-mode cluster --num-executors 4 --executor-cores 2 --executor-memory 2G --conf spark.yarn.executor.memoryOverhead=4096 --py-文件 test.zip app_main.py
我正在使用火花 2.3
yarn.scheduler.minimum-allocation-mb = 512 MB
yarn.nodemanager.resource.memory-mb = 126 GB
【问题讨论】:
标签: pyspark