Итак, я попытался протестировать операции Spark, которые вызывают перетасовку на основе этого сообщения stackoverflow: LINK. Тем не менее, это не имеет смысла для меня, когда операция cartesian
не вызывает перетасовку в Spark, поскольку они должны перемещать разделы по сети, чтобы локализовать их локально.Spark cartesian не вызывает перетасовку?
Как искры фактически выполняют свои cartesian
и distinct
операции за сценой ???
Итак, как я узнаю, какие операции потребуют сетевого трафика в Spark? Как вы уже упоминали, 'cartesian' на самом деле является дорогостоящей операцией, основанной на движении данных. Следовательно, нам было бы лучше знать, какие другие операции имеют такое поведение, чтобы мы могли избежать этого. – Tim
Если операции выражаются только «mapPartitions» («map», «filter» и т. Д.), Это не требует перемещения данных. В противном случае он, вероятно, перемещает данные другими способами. – zero323
Дополнительная информация от официальных источников искры http://spark.apache.org/docs/latest/programming-guide.html#shuffle-operations – DanielVL