Hadoop 2.6 - WordCount

本文介绍如何使用Hadoop 2.6自带的WordCount示例程序,完成基本的MapReduce作业。WordCount程序能够对指定目录下的文件进行分词,并统计每个单词出现的频率。

说明

对于Hadoop而言,WordCount 相当于其他编程语言的Hello World。本文通过运行Hadoop 2.6 自带的 wordCount 实例,完成一次入门级的 Map Reduce 作业。WordCount 即通过 Map Reduce 对输入中的内容进行分词并计算每个单词出现的次数。

WordCount

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input/ /output/wordcount

# /input/ : 输入路径,即对 HDFS 中 /input/ 路径下的所有文件进行WordCount
# /output/wordcount : 结果输出路径,如果 /output/wordcount 目录不存在,则会自动创建该目录; 同时,如果之前已经执行过一次该任务,下一次执行时要么删除之前的结果,要么更换输出路径。
# 否则,会报异常: FileAlreadyExistsException
Hadoop自带的WordCount程序是学习Hadoop编程的经典示例,可帮助初学者快速了解Hadoop的使用和MapReduce编程模型。有人以该程序为起点记录Hadoop学习过程,在粗略看完《Hadoop实战》对Hadoop编程有大致了解后,便从该程序开始深入学习 [^1]。 运行WordCount任务的命令有多种形式。例如 `bin/hadoop jar /usr/hddemo/wordcount.jar 包名.WordCount input output` ,其中 `input` 指定执行map任务时的数据源所在目录,`output` 是指定reduce任务执行完后将结果输出的目录;2.6以后的版本不用指定类名,可直接用 `bin/hadoop jar /usr/hddemo/wordcount.jar input output` 。Hadoop自带的运行WordCount例子的jar包在 `/share/hadoop/mapreduce/hadoop-mapreduce-example.jar` ,使用该包时命令可写为 `hadoop jar /home/yanzefeng/apps/hadoop-2.6.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar wordcount /input /output/wordcount1` 。也可以使用 `$hadoop jar /home/hadoop/hadoop/share/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output` ,不过要根据自己的Hadoop版本和路径相应调整 [^2][^3]。 基本流程方面,可在Linux的一个input目录下创建两个文件,如 `echo "Hello world Hello me! cwq solo" >test1.txt` 和 `echo " Hello world Hello you! solo" >test2.txt` ,然后通过 `hadoop fs -put /input/ /input` 将文件上传,最后运行WordCount命令进行计算。运行完成后,可使用 `hdfs dfs -cat /output/wordcount1/*` 查看文件内容 [^2]。 ```bash # 示例运行命令 hadoop jar /home/hadoop/hadoop/share/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值