0、Mapreduce的combiner
初学耗时:0.5h
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
记忆词:
combiner
一、Mapreduce的combiner
- 每一个 map 都可能会产生大量的本地输出,Combiner 的作用就是对 map 端的输出先做一次合并,以减少在 map 和 reduce 节点之间的数据传输量,以提高网络 IO 性能,是 MapReduce 的一种优化手段之一。
- combiner 是 MR 程序中 Mapper 和 Reducer 之外的一种组件。
- combiner 组件的父类就是 Reducer。
- combiner 和 reducer 的区别在于运行的位置:Combiner 是在每一个 maptask 所在的节点运行;Reducer 是接收全局所有 Mapper 的输出结果。
- combiner 的意义就是对每一个 maptask 的输出进行局部汇总,以减小网络传输量
具体实现步骤:
…
1、自定义一个 combiner 继承 Reducer,重写 reduce 方法。
…
2、在 job 中设置:job.setCombinerClass(CustomCombiner.class)。
- combiner 能够应用的前提是不能影响最终的业务逻辑,而且,combiner 的输出 kv 应该跟 reducer 的输入 kv 类型要对应起来。
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ 至此,Mapreduce的combiner完成。
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
※ 世间诱惑何其多,坚定始终不动摇。
恢复数据库的主要依据是:
…
A、文档
B、事务日志
C、DBA
D、DD
…
B
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
我知道我的不足,我也知道你的挑剔,但我就是我,不一样的烟火,谢谢你的指指点点,造就了我的点点滴滴:)!