Hadoop(二)——WordCount运行和解读

本文详细介绍了Hadoop执行WordCount程序的步骤,从创建输入文件、上传数据到HDFS,到运行WordCount jar包。接着分析了WordCount的源码,重点讲解了TokenizerMapper和IntSumReducer。还探讨了MapReduce任务优化,包括任务调度、InputSplit大小调整、Map和Reduce任务数量设置、Combine函数以及数据压缩。最后,解释了Hadoop流的工作原理,展示了如何将可执行文件作为Mapper和Reducer来处理数据。
摘要由CSDN通过智能技术生成

执行WordCount程序

1.以hadoop用户进入到linux系统

这里写图片描述

2.启动hadoop

这里写图片描述

3.在home目录下创建一个file文件夹,”~/”表示在home目录下,”/”表示在根目录下。并且在文件夹file内创建两个文本文件file1.txt和file2.txt.

这里写图片描述

4.在HDFS上创建输入文件夹。调用文件系统(FS)Shell命令应使用bin/hadoop fs
<args>
的形式,因为环境变量配置的是”$HADOOP_HOME/bin,所以可以省略掉bin直接使用hadoop fs <args>来执行文件系统命令。在运行hadoop程序处理存储在HDFS上的数据之前,你需要首先把数据放在HDFS上。HDFS有一个默认的工作目录/user/USER,其中USER是你的登录用户名。我登录的hadoop用户所以是/user/hadoop,你需要用你的用户名来替换。下面我创建了两个目录,一个是使用默认的HDFS工作目录,一个是指明了绝对路径/user/hadoop/.

因为我们在ore-site.xml中配置了

<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
</property>

所以完整的URIhdfs://localhost:9000/user/hadoop/input缩短为/user/hadoop/input

这里写图片描述

5.上传本地file中文件到集群的input目录下,put命令从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

这里写图片描述

6.已经编译好的WordCount的Jar在/usr/local/hadoop/share/hadoop/mapreduce目录下,其中/usr/local/hadoop是hadoop的安装目录。

这里写图片描述

7.执行jar命令时运行WordCount程序,记得把路径写全了,不然会提示找不到该jar包。
这里写图片描述

8.MapReduce执行过程显示信息,以下就是Hadoop Job的运行记录,从这里可以看到,这个Job被赋予了一个ID号:job_local509694306_0001,而且得知输入文件有两个(Total input paths to process : 2)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值