我通过spark-shell评估了以下scala代码行:
val a = sc.parallelize(Array(1,2,3,4,5,6,7,8,9,10))
val b = a.coalesce(1)
b.foreachPartition { p =>
p.map(_ + 1).foreach(println)
p.map(_ * 2).foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
输出如下:
2
3
4
5
6
7
8
9
10
11
Run Code Online (Sandbox Code Playgroud)
为什么第一张地图后分区p变空了?