一、实验目的
MapReduce模型由两个主要阶段组成:Map阶段和Reduce阶段。在Map阶段,数据被切分成独立的数据块,由多个Map任务并行处理;在Reduce阶段,Map任务的输出被汇总和整合,最终生成最终结果。
通过实验掌握通过MapReudce任务来进行词频统计过程。
二、实验内容
1.Hadoop示例程序包介绍
在集群服务器的本地目录“$HADOOP_HOME/share/hadoop/mapreduce/”中可以发现示例程序包hadoop-mapreduce-examples-2.4.1.jar。这个程序包封装了一些常用的测试模块,内容如下:
multifilewe统计多个文件中单词的数量
pi 应用quasi-Monte Carlo算法来估算圆周率π的值
randomtextwriter 在每个数据节点随机生成一个10GB的文本文件
wordcount 对输入文件中的单词进行频数统计
wordmean 计算输入文件中单词的平均长度
wordmedian 计算输入文件中单词长度的中位数
wordstandarddeviation 计算输入文件中单词长度的标准差
2.提交MapReduce任务命令
提交MapReduce任务,通常使用hadoop jar命令。它的基本用法格式如下:
hadoop jar <jar> [mainClass] args
因为hadoop jar命令的附带参数较多,下面结合实际任务,对它的各项参数依次进行说明,如下所示:
hadoop jar \
$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-example-2.4.1.jar \
wordcount \
/user/root/email_log.txt \
/user/root/output
针对hadoop jar 命令的常用参数做以下解释说明。
(1)$HADOOP_HOME:指主机中设置的环境变量(参考/etc/profile内容)。此处的$HADOOP_HOME就是本地目录/usr/local/hadoop-2.4.1。
(2)hadoop-mapreduce-example-2.4.1.jar:Hadoop官方提供的示例程序包,其中包括词频统计模块(wordcount)。
(3)wordcount:程序包中的主类名称。
(4)/user/root/email_log.txt:HDFS上的输入文件名称。
(5)/user/root/output:HDFS上的输出文件目录。
在理解了hadoop jar命令的各项参数后,就可以向集群提交任务了。
三、实验任务
将上传指定的日志文件log.txt并进行词频统计,并输出统计结果。
领取专属 10元无门槛券
私享最新 技术干货