Hadoop大数据开发基础系列:四、MapReduce初级编程 (2)

Hadoop大数据开发基础系列:四、MapReduce初级编程

(2)Reduce任务的处理过程

Hadoop大数据开发基础系列:四、MapReduce初级编程

2.3 读懂官方提供的WordCount源码

要编写数据处理程序,还要参考MapReduce编程的具体规范,下面进行代码级别的分析和说明:

在“D:\tools\hadoop-2.7.7\share\hadoop\mapreduce\sources”目录下找到“hadoop-mapreduce-examples-2.7.7-sources.jar”,解压缩此文件,在子目录“\org\apache\hadoop\examples”看到WordCount文件,这就是WordCount程序的源代码。

Hadoop大数据开发基础系列:四、MapReduce初级编程

Hadoop大数据开发基础系列:四、MapReduce初级编程

Hadoop大数据开发基础系列:四、MapReduce初级编程

从结构上可以分为3部分,分别是应用程序Driver、Mapper模块与Reducer模块

(1)应用程序Driver分析

这里的Driver程序主要是指的main函数,在main函数里面进行MapReduce程序的一些初始化设置,并提交任务,等待程序运行完成。

Hadoop大数据开发基础系列:四、MapReduce初级编程

基本上是这样的格式,在此基础上只需要修改部分参数即可。

(2)Mapper模式分析

Hadoop大数据开发基础系列:四、MapReduce初级编程

(3)Reducer模式分析

Hadoop大数据开发基础系列:四、MapReduce初级编程

(4)概括地讲:

进行MapReduce编程时,开发者主要处理的是Mapper和Reducer两个模块,其中包括定义输入输出的键值对格式、编写map与reduce函数中定义的处理逻辑等。

3.编程实现按日期统计访问次数

本部分任务目标是统计用户在2016年每个自然日的总访问次数。原始数据文件中提供了用户名称与访问日期,这个任务实质就是要获取以每个自然日为单位的所有用户访问次数的累加值。如果通过MapReduce编程实现这个任务,首先要考虑的是,Mapper与Reducer各自的处理逻辑是怎样的,然后根据处理逻辑编写核心代码,最后在Eclipse中编写核心代码,编译打包后提交集群运行。

  3.1 分析思路与处理逻辑

着重考虑以下几个要素:

①输入输出格式 ②Mapper要实现的逻辑 ③Reducer要实现的计算逻辑

(1) 定义输入/输出格式 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpsww.html