MapReduce编程模型-单词统计处理

要想使用Hadoop的MapReduce,必须将进行统计的文件内容保存到HDFS中

对于MapReduce而言,实际上是属于两个层次的概念:

       ◎Map阶段:对数据的处理阶段

       ◎Reduce阶段:对处理后的数据进行计算

范例:定义一个要进行统计的原始文件

Hello MLDN Hello Yootk

Hello Bye Bye Bye

Hello MLDN

处理流程如下:

Map处理

排序处理

合并处理

Reduce处理

<Hello,1>

<MLDN,1>

<Hello,1>

<Yootk,1>

<Hello,1>

<Bye,1>

<Bye,1>

<Bye,1>

<Hello,1>

<MLDN,1>

<Bye,1>

<Bye,1>

<Bye,1>

<Hello,1>

<Hello,1>

<Hello,1>

<Hello,1>

<MLDN,1>

<MLDN,1>

<Yootk,1>

<Bye,1,1,1>

<Hello,1,1,1,1>

<MLDN,1,1>

<Yootk,1>

<Bye,3>

<Hello,4>

<MLDN,2>

<Yootk,1>

整个的操作称为一个完整的作业“Job”

要进行代码编写需要使用Hadoop中提供的*.jar文件(hadoop-2.7.2\share\hadoop)

需要配置如下几个路径的开发包:

◎common组件包

       ○hadoop-2.7.2\share\hadoop\common

       ○hadoop-2.7.2\share\hadoop\common\lib

◎mapreduce组件包

       ○hadoop-2.7.2\share\hadoop\mapreduce

       ○hadoop-2.7.2\share\hadoop\mapreduce\lib

然后将程序打包成jar文件,名称为yootk.jar

不要忘记设置一个程序执行的主类

MapReduce编程模型-单词统计处理

 

随后利用ftp将yootk.jar文件上传到Linux服务器中

在HDFS上建立一个input文件夹,同时将保存一个文件到此文件夹中

范例:在hdfs上创建一个input的文件目录

hadoop fs -mkdir /input

(查看)hadoop fs -ls /

范例:建立一个文件,直接利用vi处理

vi mldn.txt

 MapReduce编程模型-单词统计处理

 

范例:将此文件保存在HDFS中的“/input”目录之中

hadoop fs -put mldn.txt /input

范例:查看文件内容确定是否成功

hadoop fs -cat /input/mldn.txt

随后进入到yootk.jar文件所在的路径,执行jar文件

cd /srv/ftp

hadoop jar yootk,jar /input/mldn.txt /output

注:执行的时候需要保证output目录在HDFS上不存在

执行完成之后可以查看HDFS中/output目录下的内容

hadoop fs -ls /output

范例:查看输出的文件内容

hadoop fs -cat /output/part-r-00000

 MapReduce编程模型-单词统计处理