一、实验概述:
【实验目的】
- 掌握MapReduce计算的数据准备方法;
- 掌握MapReduce的圆周率计算方法;
- 掌握MapReduce的Wordcount计算方法;
- 掌握MapReduce的正则表达式匹配计算方法。
【实验要求】
- 保存程序,并自行存档;
- 最终的程序都必须经过测试,验证是正确的;
- 认真记录实验过程及结果,回答实验报告中的问题。
【实施环境】(使用的材料、设备、软件)
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.查看统计结果