У меня есть искорка, где я делаю следующее
- Загрузка данных из паркета с помощью spark sql и преобразование их в pandas df.Размер данных составляет всего 250 МБ
- . Запустите 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 ГБ используемой физической памяти 6 ГБ?
Я попытался увеличить 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-files test.zip app_main.py
Я использую spark 2.3
yarn.scheduler.minimum-allocation-mb = 512 MB
yarn.nodemanager.resource.memory-mb = 126 GB