余老师带你学习大数据-Spark快速大数据处理第三章第六节MR基本用例WordCount

MR基本用例

MR基本用例

下载程序

1、切换到hadoop用户下。
命令:su – hadoop
在这里插入图片描述
2、查看集群是否正常工作。
命令:jps
在这里插入图片描述
3、切换到/tmp目录下,并创建mr文件。注:这个mr是之前在做Java例子时创建的,现在可以删除掉。
命令:cd /tmp/mkdir mr
在这里插入图片描述
4、进入Spark-stack/Hadoop/目录下。
命令:cd Spark-stack/Hadoop/

在这里插入图片描述
5、将WordCount-python拷贝到/tmp/mr/目录下。
命令:cp -r WordCount/* /tmp/mr/

在这里插入图片描述
6、打开org/apache/hadoop/examples目录下的WordCount.java文件。
命令:vi org/apache/hadoop/examples/WordCount.java

在这里插入图片描述

7、因为现在是hadoop的集群环境中编译程序,而不是在idea中导出jar包,需要把包的信息注释。

在这里插入图片描述

代码解释

在这里插入图片描述

解析输入函数的输入参数、输入的路径、输出的路径。
创建Job,代表MapReduce的整个过程。

在这里插入图片描述
将多个输入文件或者路径加到job中

在这里插入图片描述

Key为行号、value为给map的每一行的字符串、context定义整个上下文环境。首先现将value变成string,再通过StringTokenizer方法变成一个个的单词存放在word中,再将word中出现的单词和频次存放到context中。

在这里插入图片描述

已经将map中的相同的key的内容集合到一起。将同一个key的多个做map的结果进行一个求和。

编译

1、首先确保HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar目录存在。

命令:export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
在这里插入图片描述

2、因为Java文件存放在WordCount/org/apache/hadoop/examples/目录下,所以进入该目录下。

命令:cd org/apache/hadoop/examples/

在这里插入图片描述

3、进行编译。

命令:hadoop com.sun.tools.javac.Main WordCount.java注:会出现很多class文件。

在这里插入图片描述

4、将class文件打包,打包成一个可以执行的jar包。

命令:jar cf WordCount.jar WordCount*.class

在这里插入图片描述

运行MapReduce

1、查看目录。

命令:hdfs dfs -ls /注:有一个安装路径installTest。

在这里插入图片描述

2、查看installTest目录。

命令:hdfs dfs -ls /installTest

在这里插入图片描述

3、查看hadoop目录。

命令:hdfs dfs -ls /installTest/Hadoop注:data目录就是在安装时的目录,output是之前在做hadoop安装测试时的mapreduce任务。

在这里插入图片描述

4、查看data目录。

命令:hdfs dfs -ls /installTest/hadoop/data

在这里插入图片描述

5、提交MapReduce程序。

命令:hadoop jar WordCount.jar WordCount /installTest/hadoop/data /installTest/hadoop/output3注:输入是/installTest/hadoop/data,输出是/installTest/hadoop/output3,确保输出是不存在的。map需要缓步启动,reduce需要map启动完才运行。

在这里插入图片描述
在这里插入图片描述

6、查看结果。

命令:hdfs dfs -ls /installTest/hadoop/output3
在这里插入图片描述

7、结果在part-r-00000文件里。查看该文件。

命令:hdfs dfs -cat /installTest/hadoop/output3/part-r-00000

在这里插入图片描述

前面的字符串是输入数据也就是data里出现过的字符串,数字是出现的次数。

友情提示:详细学习内容可观看Spark快速大数据处理——余海峰https://edu.csdn.net/course/detail/24205

猜你喜欢

转载自blog.csdn.net/weixin_45810046/article/details/108823185