问题:
1) 所以,如果我有:
SomeRDD = myRDD.map().partitionBy(new hashPartitioner(2))
这两个命令将进行多少次shuffle? 这是2次洗牌吗? 1表示map(),1表示partitionBy()?还是1? 它还不清楚......
答案 0 :(得分:3)
地图不会导致混乱。这是一个狭窄的转换,即函数(代码示例中缺少的函数)将在每个元素上单独调用。
当您需要访问来自不同分区的数据(即广泛转换)时,将调用随机播放。当你做分区时,你告诉火花它需要根据你的要求重新分配,因此可能会导致混乱。