运行Hadoop自带的wordcount单词统计程序

简介: 运行Hadoop自带的wordcount单词统计程序

0.前言


   前面一篇《Hadoop初体验:快速搭建Hadoop伪分布式环境》搭建了一个Hadoop的环境,现在就使用Hadoop自带的wordcount程序来做单词统计的案例。


http://www.linuxidc.com/Linux/2017-09/146694.htm


1.使用示例程序实现单词统计


(1)wordcount程序


wordcount程序在hadoop的share目录下,如下:


[root@linuxidc mapreduce]# pwd

/usr/local/hadoop/share/hadoop/mapreduce

[root@linuxidc mapreduce]# ls

hadoop-mapreduce-client-app-2.6.5.jar        hadoop-mapreduce-client-jobclient-2.6.5-tests.jar

hadoop-mapreduce-client-common-2.6.5.jar      hadoop-mapreduce-client-shuffle-2.6.5.jar

hadoop-mapreduce-client-core-2.6.5.jar        hadoop-mapreduce-examples-2.6.5.jar

hadoop-mapreduce-client-hs-2.6.5.jar          lib

hadoop-mapreduce-client-hs-plugins-2.6.5.jar  lib-examples

hadoop-mapreduce-client-jobclient-2.6.5.jar  sources


就是这个hadoop-mapreduce-examples-2.6.5.jar程序。

(2)创建HDFS数据目录

   创建一个目录,用于保存MapReduce任务的输入文件:


[root@linuxidc ~]# hadoop fs -mkdir -p /data/wordcount


   创建一个目录,用于保存MapReduce任务的输出文件:


[root@linuxidc ~]# hadoop fs -mkdir /output


   查看刚刚创建的两个目录:


[root@linuxidc ~]# hadoop fs -ls /

drwxr-xr-x  - root supergroup          0 2017-09-01 20:34 /data

drwxr-xr-x  - root supergroup          0 2017-09-01 20:35 /output


(3)创建一个单词文件,并上传到HDFS

   创建的单词文件如下:


[root@linuxidc ~]# cat myword.txt  

linuxidc yyh

yyh xplinuxidc

katy ling

yeyonghao linuxidc

xpleaf katy


   上传该文件到HDFS中:


[root@linuxidc ~]# hadoop fs -put myword.txt /data/wordcount


   在HDFS中查看刚刚上传的文件及内容:


[root@linuxidc ~]# hadoop fs -ls /data/wordcount

-rw-r--r--  1 root supergroup        57 2017-09-01 20:40 /data/wordcount/myword.txt

[root@linuxidc ~]# hadoop fs -cat /data/wordcount/myword.txt

linuxidc yyh

yyh xplinuxidc

katy ling

yeyonghao linuxidc

xpleaf katy


(4)运行wordcount程序

   执行如下命令:


[root@linuxidc ~]# hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /data/wordcount /output/wordcount

...

17/09/01 20:48:14 INFO mapreduce.Job: Job job_local1719603087_0001 completed successfully

17/09/01 20:48:14 INFO mapreduce.Job: Counters: 38

       File System Counters

               FILE: Number of bytes read=585940

               FILE: Number of bytes written=1099502

               FILE: Number of read operations=0

               FILE: Number of large read operations=0

               FILE: Number of write operations=0

               HDFS: Number of bytes read=114

               HDFS: Number of bytes written=48

               HDFS: Number of read operations=15

               HDFS: Number of large read operations=0

               HDFS: Number of write operations=4

       Map-Reduce Framework

               Map input records=5

               Map output records=10

               Map output bytes=97

               Map output materialized bytes=78

               Input split bytes=112

               Combine input records=10

               Combine output records=6

               Reduce input groups=6

               Reduce shuffle bytes=78

               Reduce input records=6

               Reduce output records=6

               Spilled Records=12

               Shuffled Maps =1

               Failed Shuffles=0

               Merged Map outputs=1

               GC time elapsed (ms)=92

               CPU time spent (ms)=0

               Physical memory (bytes) snapshot=0

               Virtual memory (bytes) snapshot=0

               Total committed heap usage (bytes)=241049600

       Shuffle Errors

               BAD_ID=0

               CONNECTION=0

               IO_ERROR=0

               WRONG_LENGTH=0

               WRONG_MAP=0

               WRONG_REDUCE=0

       File Input Format Counters  

               Bytes Read=57

       File Output Format Counters  

               Bytes Written=48


(5)查看统计结果

   如下:


[root@linuxidc ~]# hadoop fs -cat /output/wordcount/part-r-00000

katy    2

linuxidc    2

ling    1

xplinuxidc  2

yeyonghao      1

yyh    2



效果:

20181119170146179.png

目录
相关文章
|
1月前
|
SQL 存储 分布式计算
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
41 3
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
88 3
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
47 1
|
3月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
181 2
|
3月前
|
分布式计算 Hadoop Java
Hadoop_MapReduce中的WordCount运行详解
MapReduce的WordCount程序在分布式系统中计算大数据集中单词出现的频率时,提供了一个可以复用和可伸缩的解决方案。它体现了MapReduce编程模型的强大之处:简单、可靠且将任务自动分布到一个集群中去执行。它首先运行一系列的Map任务来处理原始数据,然后通过Shuffle和Sort机制来组织结果,最后通过运行Reduce任务来完成最终计算。因此,即便数据量非常大,通过该模型也可以高效地进行处理。
92 1
|
3月前
|
存储 分布式计算 Hadoop
Hadoop 运行的三种模式
【8月更文挑战第31天】
332 0
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
148 6
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
64 2
|
15天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
59 2
|
16天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
56 1

相关实验场景

更多