aggregate()( , )

2019-08-06  本文已影响0人  yayooo
  1. 参数:(zeroValue: U)(seqOp: (U, T) ⇒ U, combOp: (U, U) ⇒ U)
  2. 作用:aggregate函数将每个分区里面的元素通过seqOp和初始值进行聚合,然后用combine函数将每个分区的结果和初始值(zeroValue)进行combine操作。这个函数最终返回的类型不需要和RDD中元素类型一致。
  3. 需求:创建一个RDD,将所有元素相加得到结果

当前的初始值不仅在分区内有效,在分区间仍然有效。

package com.atguigu

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Action {
  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("ADCount")

    val sc = new SparkContext(conf)

    val rdd: RDD[Int] = sc.makeRDD(List(1,2,3,4,5,6),2)

    val i: Int = rdd.aggregate(10)(_+_,_+_)
    println(i)

  }
}

51

上一篇 下一篇

猜你喜欢

热点阅读