map()。partitionBy()这2个命令将执行多少次shuffle?

时间:2016-12-10 07:59:25

标签: scala apache-spark

问题:

1) 所以,如果我有:

SomeRDD = myRDD.map().partitionBy(new hashPartitioner(2))

这两个命令将进行多少次shuffle? 这是2次洗牌吗? 1表示map(),1表示partitionBy()?还是1? 它还不清楚......

1 个答案:

答案 0 :(得分:3)

地图不会导致混乱。这是一个狭窄的转换,即函数(代码示例中缺少的函数)将在每个元素上单独调用。

当您需要访问来自不同分区的数据(即广泛转换)时,将调用随机播放。当你做分区时,你告诉火花它需要根据你的要求重新分配,因此可能会导致混乱。