Spark версия 1.6.0
Я использую функцию соединения между двумя фреймами данных, которые имеют 100 разделов, приложение работает в кластере, где я использую 5 ядер длякаждый 20 исполнитель с общим количеством ядер 100
1006 * Моя проблема в том, что когда я выполняю объединение, все записи вычисляются для одного исполнителя, в то время как другие исполнители не используются, как показано ниже:
Это приводит к снижению производительности, поскольку все данные рассчитываются с одним исполнителем по сравнению с другими 19 доступными исполнителями.
Похоже, что объединение свечей "сводит" всю запись только в одномразделы, есть ли способ избежать этого?
Чтобы быть уверенным, что он не переназначен на 1, я также установил это свойство spark: spark.sql.shuffle.partitions=100
действительно, два входных фрейма данных имеют 100 разделов, таких же, как выходной фрейм данных