Операция искрового соединения для двух фреймов данных - PullRequest
0 голосов
/ 20 сентября 2019

когда df1 и df2 имеют одинаковые строки иdf1 и df2 не имеют дублированного значенияКакова сложность операции соединения df1.join (df2)?моя задача - взять O (n ^ 2)

и возможно ли отсортировать оба фрейма данных и повысить его производительность?если это не то, как сделать соединение быстрее, я pyspark?

1 Ответ

0 голосов
/ 20 сентября 2019

Даже если df1 и df2 имеют одинаковый набор строк и если они не разделены, для объединения их искра должна разделить оба фрейма данных на ключе соединения.Начиная с версии 2.3, метод сортировки-слияния объединяет рабочую лошадку по умолчанию, для которой потребуется разделить и отсортировать оба фрейма данных с помощью ключа объединения, а затем выполнить соединение.Оба фрейма данных также должны быть размещены для объединения сортировки-слияния.

и возможно ли отсортировать оба фрейма данных и повысить его производительность?если это не то, как можно ускорить объединение, я pyspark?

Да, если вы видите, что конкретный фрейм данных снова и снова используется в соединении с использованием одного и того же ключа соединения, тогда вы можетеперераспределить фрейм данных на ключе соединения и кэшировать его для дальнейшего использования.Пожалуйста, обратитесь к ссылке ниже для более подробной информации

https://deepsense.ai/optimize-spark-with-distribute-by-and-cluster-by/

...