第五章_Spark核心编程_Rdd_行动算子_reduce
1. 定义
/* * 1.定义 * def reduce(f: (T, T) => T): T * 2.功能 * 聚集 RDD 中的所有元素,先聚合分区内数据,再聚合分区间数据 * 3.note * 1.先在map端reduce,再将结果拉取到Driver上进行reduce * 2.当 计算不满足结合律和交换律时,分区数量会影响reduce的结果 * * */
2. 示例
object reduceTest extends App { val sparkconf: SparkConf = new SparkConf().setMaster("local").setAppName("distinctTest") val sc: SparkContext = new SparkContext(sparkconf) private val rdd: RDD[Int] = sc.makeRDD(List(8, 2, 4, 2), 4) private val sum: Int = rdd.reduce(_ - _) println(sum) sc.stop() }