分布式并行计算MapReduce

做业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319

1.用本身的话阐明Hadoop平台上HDFS和MapReduce的功能、工做原理和工做过程。

HDFS:进行分布式计算平台,将多台节点的内容进行汇总分析。

MapReduce:

一、功能:用于处理和生成大规模数据集的相关的实现,将数据切割成数据块分批处理。
二、工做原理:用户定义一个map函数来处理一个Key-Value对以生成一批中间的Key-Value对,再定义一个reduce函数将全部这些中间的有相同Key的Value合并起来,MapReduce模型主要有Mapper和Reducer,Mapper端主要负责对数据的分析处理,最终转化为Key-Value的数据结构;Reducer端主要是获取Mapper出来的结果,对结果进行统计。即分而治之的策略:

三、工做过程:
将分析的文件切割成多个数据块,将其分配给各个节点处理,每一个节点又把数据块分给多个map处理,接着多个map将结果发送给shuffle处理,shuffle再将其交给reduce,最终将其写入到分布式系统文件。
python

2.HDFS上运行MapReduce

1)查看是否已经安装python:

2)在/home/hadoop/路径下创建wc文件夹,在文件夹内新建mapper.py、reducer.py、run.sh和文本文件HarryPotter.txt:


3)查看mapper.py reducer.py run.sh的内容:

4)修改mapper.py和reducer.py文件的权限:

5)测试mapper.py和reducer.py:


6)启动hadoop:

7)把文本文件上传到hdfs:

8)将hadoop-streaming-2.7.1.jar的路径添加到bashrc文件而且让环境变量生效:

9)运行run.sh文件统计文本:



相关文章
相关标签/搜索