Map/Reduce中的Combiner的使用
来源:互联网 发布:贵州云谷数据有限公司 编辑:程序博客网 时间:2024/06/01 07:35
一、作用
1、combiner最基本是实现本地key的聚合,对map输出的key排序,value进行迭代。如下所示:
map: (K1, V1) → list(K2, V2)
combine: (K2, list(V2)) → list(K2, V2)
reduce: (K2, list(V2)) → list(K3, V3)2、combiner还具有类似本地的reduce功能.
例如hadoop自带的wordcount的例子和找出value的最大值的程序,combiner和reduce完全一致。如下所示:
map: (K1, V1) → list(K2, V2)
combine: (K2, list(V2)) → list(K3, V3)
reduce: (K3, list(V3)) → list(K4, V4)3、如果不用combiner,那么,所有的结果都是reduce完成,效率会相对低下。使用combiner,先完成的map会在本地聚合,提升速度。
4、对于hadoop自带的wordcount的例子,value就是一个叠加的数字,所以map一结束就可以进行reduce的value叠加,而不必要等到所有的map结束再去进行reduce的value叠加。
二、总结
1、combiner使用的合适,可以在满足业务的情况下提升job的速度,如果不合适,则将导致输出的结果不正确。
2、没有贴代码,具体可以参看hadoop自带的wordcount
3、写的不对的地方欢迎发邮件到dajuezhao@gmail.com
- Map/Reduce中的Combiner的使用
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop实战:使用Combiner提高Map/Reduce程序效率
- hadoop map reduce 中间的combiner的作用
- map/reduce之间的shuffle,partition,combiner过程的详解
- Hadoop Combiner提高Map/Reduce效率
- Map/Reduce中的Partiotioner使用
- 使用Hadoop中的map-reduce机制实现单词的计数
- MapReduce简单实例解析map、reduce、combiner、partition一条龙
- MapReduce作业Map阶段和Reduce阶段重要过程详述(Partitioner、Combiner、Shuffle三个阶段的解析)
- combiner的使用误区
- map任务执行中的Spill/Meger/Combiner
- map任务执行中的Spill/Meger/Combiner
- gearmand中的Map/Reduce
- hive中的map/reduce
- Java多线程初学者指南(6):慎重使用volatile关键字
- Java多线程初学者指南(7):向线程传递数据的三种方法
- 用spring控制hibernate的session何时关闭
- Java多线程初学者指南(8):从线程返回数据的两种方法
- Android时代的赢创之路
- Map/Reduce中的Combiner的使用
- Java多线程初学者指南(9):为什么要进行数据同步
- .Net URL重写(URLRewriter.dll)实例
- 咨询:报考中国海洋大学独立本科 好吗??
- 【财产异动】-----详细设计二
- MIPS构架简介
- Java多线程初学者指南(3):使用Runnable接口创建线程
- 创建线程两种方式的比较
- Database Link详解