Я использую Spark для обработки моих данных. Моя работа в Spark - это операция Только для карты , и я использую некоторую внешнюю библиотеку для обработки моих данных. Эта внешняя библиотека имеет ошибку утечки памяти. Когда исполнитель запускается, он успешно обрабатывает несколько файлов / разделов, но из-за этой ошибки памяти он начинает отказывать.
У меня жесткая зависимость от этой внешней библиотеки, и ошибка утечки памяти не будет исправлена в ближайшее время. Итак, я ищу альтернативные варианты для запуска моей искровой работы (за счет низкой производительности)
Как я упоминал ранее, каждый исполнитель может легко обработать пару файлов / разделов, я думаю, если я смогунастроить приложение Spark на использование одного исполнителя для каждой задачи, т. е. убить исполнителя после обработки назначенного задания и создать нового исполнителя для следующего задания. Возможно, я смогу запустить свое задание.
Я хочу знать,если есть способ настроить Spark для создания нового исполнителя для каждой доступной задачи?
Я уже пытался использовать spark.dynamicAllocation.executorIdleTimeout=0
, но это не создает нового исполнителя для каждой задачи.