第五章_Spark核心编程_Rdd_行动算子_aggregate

 


1.定义

复制代码
  /*
* 1.定义
*     def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U
*     seqOp : 分区内聚合函数
*     combOp : 分区间聚合函数
* 2.功能
*     分区的数据通过初始值和分区内的数据进行聚合,然后再和初始值进行分区间的数据聚合
* 3.执行流程
*     1. 分区内对元素聚合
*         seqOp(zeroValue,e)
*     2. 拉取分区聚合的结果,在Driver聚合
*         combOp(zeroValue,par_e)
*
* */
复制代码

2.示例

复制代码
  object aggregateTest 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), 2)

    private val result: Int = rdd.aggregate(0)(_ - _, _ - _)

    println(result)

    sc.stop()
  }
复制代码

 

posted @   学而不思则罔!  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示