combineByKey算子

本文介绍了Spark的高级算子combineByKey,主要用于相同Key的数据聚合。它包含createCombiner、mergeValue和mergeCombiner三个关键函数,分别用于初始化、同分片内合并和跨分片合并。示例代码展示了如何使用combineByKey计算Key的平均值和Value的出现次数。
摘要由CSDN通过智能技术生成

combineByKey算子是Spark中一个非常高级的算子,很多我们常用的算子底层都是封装的他

combineByKey: 的主要作用是将同一个key的数据就行聚合,其实就是对相同的K,不同的V进行一顿操作让他变成新的V
但是combineByKey比较特殊的地方是,他的三个主要函数的含义。
combineByKey有三个主要的函数分别是:
createCombiner 对于当前KV中的V进行改造生成新的V,相当于mergeValue之前你有一次修改Value的机会
mergeValue 在同一分片中,相同的Key进行合并的时候,
mergeCombiner 将不同分片中的同一个key的combiner进行合并

这里我们需要注意的是这与其他我们常用的算子不一样的是,这里涉及到了分片,先同分片在不同的分片合并

代码如下,求一个key的平均值以及value出现的次数

val conf = new SparkConf().setAppName("SearchSessionAnalysis").setMaster("local[4]")
    val sc: SparkContext = new</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值