语法
Rdd.fold(num)(func)
num为初始值
func为元素与初始值进行的操作
源码
def fold(zeroValue : T)(op : scala.Function2[T, T, T]) : T = { /* compiled code */ }
作用
aggregate的简化操作,seqop和combop使用同一函数。
例子
package com.day1
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object oper {
def main(args: Array[String]): Unit = {
val config:SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordCount")
// 创建上下文对象
val sc = new SparkContext(config)
val rdd = sc.makeRDD(1 to 10,2)
println(rdd.fold(0)(_+_))
}
}
输入
1 2 3 4 5
6 7 8 9 10
输出
55