一、实验概述:

【实验目的】

  1. 掌握MapReduce计算的数据准备方法;
  2. 掌握MapReduce的圆周率计算方法;
  3. 掌握MapReduce的Wordcount计算方法;
  4. 掌握MapReduce的正则表达式匹配计算方法。

【实验要求】

  1. 保存程序,并自行存档;
  2. 最终的程序都必须经过测试,验证是正确的;
  3. 认真记录实验过程及结果,回答实验报告中的问题。

【实施环境】(使用的材料、设备、软件)
Linux操作系统环境,VirtualBox虚拟机,Hadoop、HDFS、MapReduce等程序。

二、实验内容

第1题 MapReduce计算的数据准备实验
【实验内容】
(1) 在Linux系统中,新建一个包含若干英文单词的文本文件,并使用适宜的终端命令,将该文件上传至HDFS的input1文件夹中。
(2) 使用适宜的终端命令将Hadoop安装目录中etc/hadoop下的所有xml文件上传至HDFS的input2文件夹中。

【实验结果】(步骤、记录、数据、程序等)
请提供相应Shell界面截图证明。
回答:
1.在桌面新建一个 testinput.txt 文本

touch /home/charon/桌面/testinput.txt

2.启动hadoop
在这里插入图片描述
3.创建 hdfs 虚拟文件 input1 和 input2
在这里插入图片描述
4.将桌面文件 testinput.txt 文件上传至 hdfs 的 input1 文件夹中
在这里插入图片描述
5.将 etc/hadoop 下的所有 xml 文件上传至 HDFS 的 input2 文件夹中
在这里插入图片描述
在这里插入图片描述

第2题 基于MapReduce的圆周率计算实验
【实验内容】
使用Hadoop MapReduce的相关命令,完成圆周率计算,要求其计算结果尽量接近Pi的实际值3.14159。

【实验结果】(步骤、记录、数据、程序等)
请提供相应Shell界面截图证明。

回答:
1.进入 share/hadoop/mapreduce 文件夹,找到 hadoop-mapreduce-examples-3.2.0.jar
在这里插入图片描述
2.使用 Hadoop 自带例子 pi 计算圆周率
在这里插入图片描述

第一个50是运行50次map任务
第二个50是每个map任务投掷次数,所以总投掷次数是50×50=2500

在这里插入图片描述

第3题 基于MapReduce的Wordcount计算实验
【实验内容】
使用第一题上传在input1目录中的文本文件,并使用MapReduce相应计算程序,完成wordcount计算,统计该文本中的英文单词数。

【实验结果】(步骤、记录、数据、程序等)
请提供相应Shell界面截图证明。

回答:
1.使用 MapReduce 的 wordcount 统计 input1 目录中的文本英文单词数
在这里插入图片描述
2.查看 output2/wordcount 目录下的文件
在这里插入图片描述
3.查看统计结果
在这里插入图片描述

第4题 基于MapReduce的正则表达式计算实验
【实验内容】
使用第一题上传在input2目录中的XML文件,并使用MapReduce相应计算程序,完成正则表达式计算,统计该XML文本中满足’dfs[a-z.]+’匹配规则的字符。

【实验结果】(步骤、记录、数据、程序等)
请提供相应Shell界面截图证明。

回答:
1.使用 MapReduce 的 grep 程序统计 input2 目录中的 XML 文本中满足’dfs[a-z.]+ ’匹配规则的字符
在这里插入图片描述
2.查看统计结果
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐