Mapreduce之Combiner

本文介绍 MapReduce 中 Combiner 的作用及其如何通过在 Map 端进行类似 Reduce 操作来减少 Map 到 Reduce 的数据传输量,从而提高整体处理效率。

原理:

1.是什么?mapreduce作业的优化

在map端进行一次类似于reduce的操作,这种操作称为Combiner

2.为什么会有这种优化方式?

为了减少map->reduce 传输的数据量。 

3.既然Combiner类似于reduce,那么它的输入数据类型和输出数据类型是什么?

Combiner处理map的结果,combiner处理的结果是reduce的输入。

那么它的输入数据类型就等于map端的输出数据类型,它的输出数据类型就等于reduce端的输入数据类型。

4.它是怎么实现的呢?

Combiner就是一个reduce

Combiner实现就要继承一个reducer

job.setCombinerClass(reducer类);

 

 

限制条件

1.不能影响map阶段的数据传送

2.它的存在与否只是影响性能

3.它的输入数据类型和输出数据类型一致

转载于:https://my.oschina.net/u/3697442/blog/1555739

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值