Spark - Как переразметить фрейм данных на основе столбцов с минимальным перемешиванием? - PullRequest
0 голосов
/ 07 февраля 2019

У нас есть несколько фреймов данных.

Один из фреймов данных является основным, который соединяется с другими фреймами данных с помощью лево-внешних объединений.Все эти кадры данных объединяются в 4 столбца (скажем, col1, col2, col3, col4).

Чтобы уменьшить перемешивание данных, в настоящее время мы перераспределяем все кадры данных в 4 столбцах соединения, а затем объединяем эти кадры данных.(слева направо).

Есть ли лучший способ присоединить / переразбить эти кадры данных, чтобы перемешивание данных было минимальным?

Спасибо

1 Ответ

0 голосов
/ 14 мая 2019

Перераспределение не предотвратит случайное перемешивание, оно оптимизирует соединения.Если оба ваших кадра данных имеют большой размер и недостаточно малы, чтобы поместиться в память для широковещательных хеш-соединений. Вы можете сохранить свой массив данных в виде таблиц с пакетами и затем выполнить сортировку слиянием и объединением.Таким образом, вы можете пропустить случайную последовательность сортировки, которая обычно происходит перед соединением двух больших фреймов данных. См. Ссылку ниже Spark join * без * shuffle Этот метод полезен только в том случае, если вам нужно объединить несколько фреймов данных несколько раз.... так как эти таблицы также приведут к некоторым накладным расходам на ваше искровое приложение.

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