理论教育 MapReduce Java API详解

MapReduce Java API详解

时间:2023-06-14 理论教育 版权反馈
【摘要】:Mapper 抽象类有四个参数,分表表示输入key,输入value,输出key,输出value;其中输入key 和输入value 同Maper 类中的输出key 和输出value 对应。reduce 函数有三个参数,分别表示输入key,输入value 的集合,上下文环境。

MapReduce Java API详解

新的MapReduce Java API 存放在org.apache.hadoop.mapreduce,与旧API(路径为org.apache.hadoop.mapred)相比其采用了虚类,更利于扩展。

一、继承Mapper 类

通过继承Mapper 类实现map 函数。Mapper 抽象类有四个参数,分别表示行偏移量(采用默认文本输入的话),该行字符串,输出key,输出value。map 函数有三个参数,分别表示行偏移量,该行字符串,上下文环境。因此map 函数的前两个参数对应的是Mapper 类的前两个参数。

二、继承Reducer 类(www.daowen.com)

通过继承Reducer 类实现reduce 函数。Mapper 抽象类有四个参数,分表表示输入key,输入value,输出key,输出value;其中输入key 和输入value 同Maper 类中的输出key 和输出value 对应。reduce 函数有三个参数,分别表示输入key,输入value 的集合,上下文环境。

三、实例化作业

通过Job 静态方法getInstance 实例化,并对作业指定Mapper 类、Reducer 类、Jar类、输出数据key 的数据类型和输出数据value 的数据类型;如果自定义有Combiner 类、Partitioner 类,还需明确指定。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈