说明
经过第一个转换算子,分区后,再执行其他 RDD转换算子时,分区内的数据不变,即:经过其他算子运算后,属于 0分区 的数据仍然在 0分区,不会跑到 1分区
验证
val sparConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
val sc = new SparkContext(sparConf)
val rdd:RDD[Int] = sc.makeRDD( List( 1,2,3,4,5,6 ),2 )
rdd.saveAsTextFile("res")
val resRDD = rdd.map(_ * 2)
resRDD.saveAsTextFile("res2")
sc.stop()
注意
groupBy()、coalesce()、coalesce() 等算子会 重新分区
