Hadoop:统计文件中所有单词的平均长度
目录
实训目标
(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 所示。
图 4 ‑ 2 提交的任务
点击左侧的 Nodes 可以查看资源(此步骤应该在任务进行时查看),如 图 4 ‑3 所示。
图 4 ‑ 3 资源使用情况
在 WEB 浏览器输入“ http://master:50070/dfshealth.jsp ” , 打开 HDFS 文件系统,查看文件夹“ /user/root/wordmean ”下的任务输出结果,如 图 4 ‑4 所示,第一行 count 是单词的个数,第二行 length 是单词加起来的总长度,通过 length/count 就可以计算单词的平均长度了。
图 4 ‑ 4 任务运行结果