spark新能优化之reduceBykey和groupBykey的使用
2016-07-13 17:41
423 查看
val counts = pairs.reduceByKey(_ + _)
val counts = pairs.groupByKey().map(wordCounts => (wordCounts._1, wordCounts._2.sum))
如果能用reduceByKey,那就用reduceByKey,因为它会在map端,先进行本地combine,可以大大减少要传输到reduce端的数据量,减小网络传输的开销。
只有在reduceByKey处理不了时,才用groupByKey().map()来替代。
因为reduceBykey聚合后传输的数据量就变少了,而groupBykey没聚合会传递到taskResult上面数据量比较大
val counts = pairs.groupByKey().map(wordCounts => (wordCounts._1, wordCounts._2.sum))
如果能用reduceByKey,那就用reduceByKey,因为它会在map端,先进行本地combine,可以大大减少要传输到reduce端的数据量,减小网络传输的开销。
只有在reduceByKey处理不了时,才用groupByKey().map()来替代。
因为reduceBykey聚合后传输的数据量就变少了,而groupBykey没聚合会传递到taskResult上面数据量比较大
相关文章推荐
- SQL优化---SQL执行的先后顺序
- android activity跳转
- jsp自适应设备屏幕
- 友盟页面爬虫工具
- 使用Fiddler测试WebApi接口
- Appium移动自动化测试(一)--安装Appium
- html&css笔记
- 第7章 Linux档案与目录管理
- Eclipse中Maven Dependencies引入某个jar包显示为文件夹
- 0712c#第一天C#语言基础介绍与语法入门
- Oss使用文档 ##[上传,下载]
- VxWorks中logMsg与printf的区别
- Android依赖注入:Dagger、RoboGuice和ButterKnife比较
- 第16周 啊哈算法 水管工铺设管道
- Cognos: get output of report
- nyoj 30 gone fishing
- 【git】中vim命令
- 关于 frame 显示问题,IE 显示正常,但是在火狐中不行的问题
- 关于Redis数据过期策略
- 工作总结—HMC5883L应用的一些说明