釋義
reduce
將partition內所有記錄最終計算成1個記錄,結果類型與reduce
時數據類型一致
方法簽名如下:
def reduce(f: (T, T) => T): T = withScope {
...
}
- f: 每個partition內,每每兩條記錄進行歸併計算。輸入類型爲U跟U,輸出爲U,即輸入類型與輸出類型一致
案例
計算數組總和
object TestReduce {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setAppName("TestReduce").setMaster("local[1]")
val sc: SparkContext = new SparkContext(conf)
val data = Array(1, 99, 2, 3)
val result: Int = sc.parallelize(data).reduce(_ + _)
println(result)
}
}
輸出
105
解釋
RDD內所有記錄進行兩兩計算,最終生成1個結果