spark3.0教程:RDD行动算子fold() 作者:马育民 • 2021-06-27 15:52 • 阅读:10126 # 说明 与 aggregate() 类似, 设置初始值,初始值和分区内的数据进行聚合,得到各个分区的结果;然后将初始值和各个分区的结果(分区间的数据)聚合 与 aggregate() 不同:fold算子的 **分区内**数据操作方式 和 **分区间**数据操作方式 是 **相同的** # 声明 ``` def fold(zeroValue: T)(op: (T, T) => T): T ``` **形参:** - zeroValue:初始化值。在比较大小时,需要有初始值 - op:分区内 和 分区间操作 **返回值:** - 返回计算结果 ### 例子 ``` 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 ) val res:Int=rdd.fold(10)(_ + _) println(res) sc.stop() ``` 原文出处:http://malaoshi.top/show_1IX1O53v8sqG.html