Mapper与Reducer浅析(一)

本文深入探讨了Hadoop MapReduce中的Mapper和Reducer。Mapper作为数据处理阶段,其Mapper类需实现Mapper<K1,V1,K2,V2>接口,其中map方法处理键值对并生成新的键值对。Reducer则对Mapper输出进行排序和归并,通过reduce方法处理相同键的值。Partitioner在两者间起关键作用,重定向Mapper输出。" 92704438,8337295,WPF应用中的SQL分页查询实现,"['前端开发', 'WPF', '数据库', '存储过程', '服务端开发', '分页技术']
摘要由CSDN通过智能技术生成

一、      Mapper

Mapper接口负责数据处理阶段,它采用的形式为Mapper<K1,V1,K2,V2>Java泛型,这里键类和值类分别实现WritableComparable和Writable接口。

Mapper只有一个方法—map,用于处理一个单独的键、值对。

Void map(K1key,V1 value,OutputCollector<K2,V2> output,Reporter reporter) throwsIOException该函数处理一个给定的键/值对(K1,V1),生成一个键/值对(K2,V2)的列表(该列表也可能为空),OutputCollector接收这个映射过程的输出,Reportor可提供对Mapper相关附加信息的记录,形成任务进度。

Mapper中包含的两个主要方法:

1、        void configure(JobConfjob) 该函数提取XML配置文件或者应用程序主类中的参数,在数据处理前调用。

2、        void close(),map任务结束前的最后一个操作,该函数完成所有的收尾工作,如:关闭数据库连接、打开文件等。

二、      Reducer

Reduce的实现和mapper一样必须首先在MapReduce基类上扩展,允许配置和清理,还必须实现Reducer接口,使其具有如下的单一方法:

Void reduce(K2key,Iterator<V2> values,OutputCollector<K3,V3> output,Reporterreporter) throwsIOException

当reducer任务接收来自各个mapper的输出时,它按照键/值对中键对输入数据进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值