MapReduce分布式计算:使用Hadoop自带的wordcount程序、grep程序和pi程序

创建本地文件
在桌面目录下创建文件wordfile.txt,其内容为"Hello World"和
“Hadoop MapReduce”(两行)

touch wordfile.txt

运行程序之前,需要启动Hadoop
切换到hadoop目录下,启动成功出现如下图所示

cd /usr/local/hadoop
./sbin/start-dfs.sh

在这里插入图片描述
在HDFS上创建输入文件夹

./bin/hdfs dfs -mkdir input1
./bin/hdfs dfs -mkdir input2

上传本地文件wordfile.txt到HDFS的input1目录下

./bin/hdfs dfs -put /home/hadoop/桌面/wordfile.txt input1

在这里插入图片描述
上传Hadoop安装目录中etc/hadoop下的所有xml文件上传至HDFS的input2文件夹中

./bin/hdfs dfs -put ./etc/hadoop/*.xml input2

在这里插入图片描述
运行Hadoop自带程序wordcount
首先在/usr/local/hadoop/share/hadoop/mapreduce目录下面找到自带包的版本
在这里插入图片描述

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-examples-3.2.1.jar wordcount input1 output1

运行结束后词频统计结果已经被写入了HDFS的output1目录下,执行以下命令查看词频统计结果

./bin/hdfs dfs -cat output1/*

在这里插入图片描述
运行Hadoop自带程序grep

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input2 output2 'dfs[a-z.]+'

运行结束后匹配统计结果已经被写入了HDFS的output2目录下,执行以下命令查看匹配统计结果

./bin/hdfs dfs -cat output2/*

在这里插入图片描述
运行Hadoop自带程序pi
两个参数含义:第一个是运行6次map任务,第二个是每个map任务投掷次数位为5000,所以总投掷次数是6×5000=30000

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-examples-3.2.1.jar pi 6 5000

为了结果更加准确,可以把这两个数值改大点。上面命令执行后,运行过程中会出现以下信息
在这里插入图片描述
最后出现的就是计算出的pi值在这里插入图片描述
最后运行结束后,一定要记得:关闭Hadoop
在这里插入图片描述
好了,以上是本次操作的全部内容,有哪里不对的地方可以在评论区指出来哦

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值