about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3892|回复: 0

[心得体会] Spark性能优化之reduceByKey和groupByKey比较

[复制链接]

171

主题

34

听众

36

收听

高级会员

Rank: 4

积分
3970

最佳新人活跃会员热心会员

发表于 2018-4-16 11:30:05 | 显示全部楼层 |阅读模式
举个例子
[Scala] 纯文本查看 复制代码
val counts=pairs.reduceByKey(_+_)
val counts=pairs.groupByKey().map(wordcounts=>(wordcounts._1,wordcounts_2.sum))


如果能用reduceByKey那就用reduceByKey,因为它会在map端,先进行本地combine,可以大大的减少要传输到reduce端的数据量,减少网路传输的开销
只有在reduceByKey 处理不了的时候才会用groupbByKey.map()来替代

下面给出一个图解介绍一下val counts=pairs.groupByKey().map(wordcounts=>(wordcounts._1,wordcounts_2.sum))

1.jpg

下面给出一个图解介绍一下val counts=pairs.reduceByKey(_+_)
2.jpg




本帖被以下淘专辑推荐:

欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /3 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2018-12-16 11:36 , Processed in 0.449517 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表