Мы запускаем наше приложение SPARK, написанное на JAVA, на следующем оборудовании:
- один главный узел
- два рабочих узла (каждый с 502,5 ГБ доступной памяти и 88 ядрами (ЦП)).
со следующей конфигурацией для команды ./spark-submit
:
- executor-memory = 30 ГБ --driver-memory = 20G --executor-cores = 5--driver-cores = 5
Мы используем Диспетчер кластеров SPARK .
Требуется 13 минут для обработки 10 миллионов данных.
Мы не имеем права делиться кодом приложения.
Может кто-нибудь предложить конфигурацию для настройки нашего приложения для повышения производительности?
Дайте мне знать, если вам нужен какой-либо другойдеталь.
Мы используем SPARK 2.3.0
EDIT
наши данные содержат 127 столбцов и 10 миллионов строк.Спарк стартовал 32 исполнителями с вышеуказанной конфигурацией.мы выполняем внешний вызов приложения внутри функции flatmap.
Как вы думаете, не хватает ли аппаратных ресурсов?