spark3.0教程:RDD行动算子foreach() 作者:马育民 • 2021-06-27 14:05 • 阅读:10465 # 说明 迭代每个数据,**与其他算子不同,较少使用**,但开发期间使用较多 把数据从driver 发送到 executor,在 executor 端 `println()`,是分布式遍历 RDD 中的每一个元素 **注意:** 由于是 **分布式** 执行,所以谁先执行无法确定,即:**没有** 按照 **分区顺序** 打印数据,所以 **顺序是乱的** 如下图: [![](https://www.malaoshi.top/upload/pic/spark/QQ20210627142534.png)](https://www.malaoshi.top/upload/pic/spark/QQ20210627142534.png) ### 例子 ``` 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交替打印,顺序会错乱 原文出处:http://malaoshi.top/show_1IX1O4JB4Jjq.html