После прочтения документации я не понимаю, как Spark работает в YARN для учета потребления памяти Python.
Рассчитывает ли он spark.executor.memory
, spark.executor.memoryOverhead
или где?
В частности, у меня есть приложение PySpark с spark.executor.memory=25G
, spark.executor.cores=4
, и я сталкиваюсь с частым контейнером , убитым YARN, для превышения ограничений памяти. при запуске map
на RDD. Он работает на довольно большом количестве сложных объектов Python, поэтому ожидается, что он займет некоторое нетривиальное количество памяти, но не 25 ГБ. Как настроить различные переменные памяти для использования с тяжелым кодом Python?