何时加入的spark操作不会导致shuffle

时间:2017-05-12 14:52:08

标签: apache-spark

通常,Spark的join操作会导致shuffle。什么时候加入的操作不会导致洗牌?谁可以告诉我一些优化Spark的方法?

1 个答案:

答案 0 :(得分:0)

    如果两个数据结构(joinDataset)已经共同分区,则
  • RDD不会直接导致混乱。这意味着数据已经使用repartition / partitionBy进行了混洗,或者聚合和分区方案是兼容的(相同的分区键和分区数)。

  • 如果两个结构都是共同分区和共同定位,则
  • join不会导致网络流量。由于只有在先前在同一操作中对数据进行了混洗时才会发生协同定位,因此这是一个边界情况。

  • 当连接表示为广播连接时,也不会发生随机播放。