hadoop2.7.1下的单词统计
hadoop2.7.1下的单词统计(hadoop自带jar包)
注意:(本文的路径有点长,要注意对应的路径)
1、搭建好了集群式hadoop以后,测试一下小程序,本文测试的是hadoop的Wordcount程序,也就是一个简单的单词统计程序。先启动hadoop
2、hadoop的Wordcount程序是hadoop自带的一个小小的案例,可以在hadoop的解压包里找到这个jar文件其路径是(/usr/local/hadoop/share/hadoop/mapreduce)路径下的hadoop-mapreduce-examples-2.7.1.jar
包。
执行如下命令:
$ cd /usr/local/hadoop/share/hadoop/mapreduce
$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar
下面直接上图:
从这个截图中可以清晰的看到hadoop-mapreduce-examples-2.7.1.jar文件不只有一个Wordcount一个小案例,还有其他的小案例,但是现在我们是测试一下我们的hadoop到底是怎么运行的,所以就用一个简单的Wordcount程序就OK了。线面按照命令执行就一路畅通:
3、测试看看hadoop-mapreduce-examples-2.7.1.jar Wordcount这里面有什么小东东。
执行如下命令:
$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount
根据上面显示。说明要我们输入文件和输出,下面我们就要开始输入要测试的单词文本了。
4、为了方便使用hadoop-mapreduce-examples-2.7.1.jar文件,在/usr/local/hadoop/share/hadoop/mapreduce目录下创建一个文件
执行如下命令:
$ mkdir input1
$ cd input1
$ echo "Hello hadoop , I'm xiao ming" > f1.txt
$ echo "Hello world , I'm zhao ming ming" > f2.txt
$ ls
$ cat f1.txt f2.txt
如图:/
我的截图有文字有说明,非常清楚,我就不再啰嗦。
5、要在HDFS上运行文件,我们也要在HDFS上新建一个文件,这里同样也是创建的名字为input1的文件。以便后以后使用的时候统一,其实命名为什么名字都一样。
执行如下命令:
$ cd
$ cd /usr/local/hadoop
$ hadoop fs -mkdir /input1
6、目录创建好了以后,把刚才的本地文件(/usr/local/hadoop/share/hadoop/mapreduce/input1)传输到HDFS上。执行如下命令:
$ cd /usr/local/hadoop/share/hadoop/mapreduce
$ hadoop fs -put input1/f*.txt /input1
$ hadoop fs -ls /input1
7、运行程序执行如下命令:
$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input1/ /output1/
下图的map和reduce的进度为100%表示运行处理结束。
8、程序运行完以后,要查看一下单词统计的结果是什么玩意儿,执行如下命令:
$ hadoop fs -ls /output1/*
$ hadoop fs -cat /output/*
哈哈,gameover,统计出来的结果如上图所示。
在HDFS上运行完以后,想删掉输入输出,执行:
$ hadoop fs -rmr /input1
$ hadoop fs -rmr /output1