MapReducer Reducer Class

Reducer可以用作Combiner的情况:

满足 a.b=b.a或者a.(b.c)=(a.b).c

 

Combiner能用就用,不一定是用Reducer来替代。

设置Reducer为Combiner类的方法:

job.setCombinerClass(WCReducer.class);

 

Partitioner Class:决定把k-v数据块发给哪个Reducer

 

Reducer Class:和mapper里面的方法几乎一模一样,工作流程不再赘述。

1. setup方法 框架只调用一次

2、reduce方法 

reduce(KEY key, Iterable<VALUE> values,Context context)

这个key呢,他可能来自不同的Mapper,他是一个集合。

就是简单一个对value求和

 

3.cleanup方法

4.run方法

 

Reducer处理完之后key-value发给 output format,

它也有2个方法

第一个是写记录,把Reducer拿过来的Key-Value 记录按自己的读取方式写到目标文件上。

第二个方法是我check一下,目标目录如果存在了,我不会覆盖原来的文件。(具体的还不是很清楚)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值