Искра декартова не вызывает перемешивания?

Итак, я попытался протестировать операции Spark, которые вызывают перестановки, на основе этого сообщения стека overflow: LINK. Тем не менее, это не имеет смысла для меня, когда cartesian операция не вызывает перетасовки в Spark, поскольку они должны перемещать разделы по сети, чтобы соединить их локально.

Как Spark на самом деле делает это cartesian а также distinct операции за сценой??

1 ответ

Решение

Shuffle - это операция, специфичная для СДР пар ключ-значение (RDD[(T, U)] обычно описывается как PairRDDs или же PairwiseRDDs) и более или менее эквивалентно шаффл-фазе в Hadoop. Цель случайного воспроизведения - переместить данные конкретному исполнителю на основе значения ключа и Partitioner,

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

Другие вопросы по тегам