说明
迭代每个数据,与其他算子不同,较少使用,但开发期间使用较多
把数据从driver 发送到 executor,在 executor 端 println(),是分布式遍历 RDD 中的每一个元素
注意: 由于是 分布式 执行,所以谁先执行无法确定,即:没有 按照 分区顺序 打印数据,所以 顺序是乱的
如下图:
例子
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.foreach(println)
sc.stop()
执行结果:
4
1
5
2
6
3
2个executor交替打印,顺序会错乱
