Spark на AWS EMR: обновление до emr-5.20 (с Spark 2.4): работа занимает больше времени, чем раньше - PullRequest
0 голосов
/ 07 февраля 2019

Недавно мы обновили метку выпуска EMR с emr-5.16.0 до emr-5.20.0, в которой вместо 2.3.1 используется Spark 2.4.

Сначала это было ужасно.Джобс начал брать гораздо больше, чем раньше.Наконец, мы устанавливаем для MaximumResourcesAllocation значение true (возможно, оно было истинным по умолчанию в emr-5.16), и все начинает выглядеть лучше.Но некоторые этапы все еще занимают гораздо больше, чем раньше (в то время как другие - меньше).Например: Spark 2.4: enter image description here

Spark 2.3.1: enter image description here

Изображения из истории приложений.

В Spark 2.4 операция keyBy заняла в 10 раз больше, чем в Spark 2.3.1.

Она связана с количеством разделов.В версии 2.3.1 число разделов RDD после операции mapToPair составляло 5580, тогда как в Spark 2.4 был параллелизм кластера по умолчанию (128, потому что он работал в кластере с 64 ядрами).

Iпопытался перераспределить на 10000, и этап keyBy закончился всего за 1,2 минуты.Но я думаю, что это не хорошее и не окончательное решение.

Это известная проблема?Стоит ли пытаться установить параллелизм по умолчанию на большее количество?

...