余老师带你学习大数据-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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值