Hadoop:统计文件中所有单词的平均长度

来自CloudWiki
跳转至: 导航搜索

实训目标

(1) 熟悉上传文件到 HDFS 。

(2) 掌握以 hadoop jar 命令提交 MapReduce 任务。

(3) 掌握查询 MapReduce 任务信息,如执行时间,完成状态。

实训环境

(1) 使用 CentOS 6.10 的 Linux 操作系统搭建的 3 个节点的 Hadoop 集群。

(2) 使用 2.6.4 版本的 Hadoop 。

实训内容

(1) 在集群服务器 master 的本地目录上有日志文件 /opt/data/email_log.txt ,要求对文件中的单词进行统计,求单词的平均长度。

实训步骤

前置步骤

运行 hadoop-mapreduce-examples-2.6.4.jar 的 wordmean 模块计算单词平均长度

示例程序包中的 wordmean 程序可以计算文件中出现的单词长度的平均值,在 master 节点命令行窗口输入命令如 代码 4 ‑2 所示。

代码 4 ‑ 2 提交统计单词平均长度的任务命令

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordmean /user/root/email_log.txt /user/root/wordmean

查看输出结果

在 WEB 浏览器输入“ http://master:8088/cluster/apps ”,打开 MapReduce 任务列表界面 ,查看任务运行情况,如 图 4‑2 所示。

Bd20-7-13.png

图 4 ‑ 2 提交的任务

点击左侧的 Nodes 可以查看资源(此步骤应该在任务进行时查看),如 图 4 ‑3 所示。

Bd20-7-14.png

图 4 ‑ 3 资源使用情况

在 WEB 浏览器输入“ http://master:50070/dfshealth.jsp ” , 打开 HDFS 文件系统,查看文件夹“ /user/root/wordmean ”下的任务输出结果,如 图 4 ‑4 所示,第一行 count 是单词的个数,第二行 length 是单词加起来的总长度,通过 length/count 就可以计算单词的平均长度了。

Bd20-7-15.png

图 4 ‑ 4 任务运行结果