Zip in spark. Как это работает и как насчет его производительности? - PullRequest
0 голосов
/ 20 февраля 2020

В настоящее время я использую zip для объединения двух rdd. Я хочу знать, лучше ли это, чем операция объединения? Я также не могу найти информацию о ее производительности.

1 Ответ

1 голос
/ 20 февраля 2020

Нам потребуется дополнительная информация: (1) насколько велики наборы данных для вашего объединения, (2) замечаете ли вы какие-либо проблемы с производительностью в результате объединения, (3) между вашими наборами данных существует большое расхождение в количестве строки, и (4) это просто поиск-соединение, что-то более сложное? Это поможет нам сообщить вам, если вам нужно изменить какие-либо из ваших конфигураций при создании сеанса spark, какие-либо методы для ограничения количества данных, входящих в действие объединения, и высказать свое мнение о следующих шагах, которые вы собираетесь предпринять.

В данный момент я дам вам свои два цента высокого уровня. Если вы делаете много действий в строке или много отдельных действий, вы захотите сохранить свои входные объекты. Если у вас возникли проблемы с расхождением массовых рядов (1000 строк слева и 100 М справа), вы захотите передать условия соединения на нижней стороне. Если у вас есть большой набор данных, который вы просто ищете для определенных ударов c, чтобы выполнить соответствующие действия на внутренних и внешних объектах, вы захотите выбрать только условия объединения, объединить их вместе и найти «объединенный» и 'unjoined', выбросьте их в массивы и выполните фильтр (т.е. val knownZIPDF = inputDF.filter ($ "ZIP" .isin (arrayOfKnownZIPs)))), где вы сможете обойти массовое перекос соединения получить производительность, которую вы ищете. Наконец, конфигурации spark, в зависимости от вашей персистентности, размера файлов и метрик на вашем Spark-боксе, вы можете связать с сериализацией, памятью исполнителя / драйвера, ядрами исполнителя и врожденными разделами spark- sql -join-разделы для возможно время действия помощи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...