spark3.0教程:RDD大部分转换算子分区不变

说明

经过第一个转换算子,分区后,再执行其他 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() 等算子会 重新分区


原文出处:/show_1IX1KLdJt2JS.html