Исполнителю не хватает памяти может происходить из-за:
- ВЫСОКОЕ СОСТОЯНИЕ
- НЕПРАВИЛЬНЫЕ ЗАПРОСЫ
- НЕПРАВИЛЬНАЯ КОНФИГУРАЦИЯ
Требования к памяти каждого приложения различны. В зависимости от требований каждое приложение должно быть настроено по-разному.
Согласно документации :
spark.yarn.executor.memoryOverhead
- это объем памяти вне кучи (в мегабайтах), который должен быть выделен каждому исполнителю. Это память, которая учитывает такие вещи, как издержки ВМ, интернированные строки, другие собственные служебные накладные расходы и т. Д. c. Это имеет тенденцию к росту с размером исполнителя (обычно 6-10%).
Следовательно, в таких случаях, как ваш, обычно рекомендуется увеличивать память исполнителя Spark, а при работе в Yarn рекомендуется также увеличить объем служебной памяти, чтобы избежать проблем с OOM (Out of memory), поскольку объем служебной памяти используется для потоков JVM, внутренние метаданные и т. д. c.
Дайте мне знать, если это поможет !!