[Spark进阶]-- spark RDD操作算子详解(应用场景汇总)

本文深入探讨Spark的RDD操作,重点解析aggregateByKey和reduceByKey的实际应用场景。通过uv统计和单词计数的例子,展示了这两个算子如何处理数据并生成聚合结果。

一、aggregateByKey应用举例
1、uv统计
输入元祖数据格式:
("201612091515  www.sohu.cn  121.23.24.21","23 2 45 67 dsks")
实现代码:

 val uv_init: RDD[(String, String)] =  ??
 //累加,去重放到set集合
 val uv_calculate: RDD[(String, mutable.HashSet[String])] =uv_init.aggregateByKey(zeroSet,2)((set, elment) => set += elment, (sets, one_set) => sets ++= one_set )
//结果输出
val uv=uv_calculate.map(x => x._1+"\t"+x._2.size)
//   201612091515  www.sohu.cn  121.23.24.21     他的uv数


输出一行一行的数据:
201612091515  www.sohu.cn  121.23.24.21     他的uv数量


二、reduceByKey应用举例
1、单词统计
输入一行一行的文本格式:
wc wr

tt hello

hello wc

实现代码:

 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oo寻梦in记

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值