У меня есть работа разделена на две части:Spark - изменение параллелизм при выполнении
- Первая часть извлекает данные из HBase с использованием искровых
- seoncd часть вычисляет тяжелые ресурсоемкие алгоритмы ML
Проблема заключается в том, что с большим количеством исполнителей/ядер кластер HBase слишком агрессивно запрашивается, и это может привести к нестабильности производства. С слишком небольшим количеством исполнителей/ядер вычислений ML требуется много времени.
Поскольку количество экземпляров и ядер установлено при запуске, я хотел бы знать, есть ли способ уменьшить число исполнителей для первой части задания.
Я, очевидно, хотел бы избежать выполнения двух отдельных заданий, таких как Hadoop, с сериализацией дискретных дисков между этими двумя шагами.
Спасибо за вашу помощь
Благодарим за помощь. Что вы имеете в виду: «немного поиграйте со своим размером RDD». Разделяет ли данные данные на 10 RDD, а затем объединяет их? – ogen
Я считаю, что вы переделываете свой RDD на каждом этапе и, самое главное, самый ранний для своего дела, если мое понимание правильное (вы хотите уменьшить количество разделов и замедлить свое приложение по назначению). На этапах вам нужно больше исполнителей, и вы хотели бы иметь больше переделок исполнителей с большим количеством разделов, и динамическое распределение может сделать все остальное. Используйте свое объяснение(), чтобы он всегда вел себя так, как вы хотите, на каждом шаге. –