分布式并行计算MapReduce

本文深入解析Hadoop中HDFS的分布式存储功能与MapReduce的大数据处理机制,通过实例演示如何在HDFS上运行MapReduce,包括环境搭建、代码编写及结果分析,适合初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1.用自己的话阐明Hadoop平台上HDFS和MapReduce的功能、工作原理和工作过程。
HDFS:进行分布式计算平台,将多台节点的内容进行汇总分析。
MapReduce:

1、功能:用于处理和生成大规模数据集的相关的实现,将数据切割成数据块分批处理。
2、工作原理:用户定义一个map函数来处理一个Key-Value对以生成一批中间的Key-Value对,再定义一个reduce函数将所有这些中间的有相同Key的Value合并起来,MapReduce模型主要有Mapper和Reducer,Mapper端主要负责对数据的分析处理,最终转化为Key-Value的数据结构;Reducer端主要是获取Mapper出来的结果,对结果进行统计。即分而治之的策略:
1480612-20190604101551936-613223303.png
3、工作过程:
将分析的文件切割成多个数据块,将其分配给各个节点处理,每个节点又把数据块分给多个map处理,接着多个map将结果发送给shuffle处理,shuffle再将其交给reduce,最终将其写入到分布式系统文件。
1480612-20190604102801842-639571579.png

2.HDFS上运行MapReduce
1)查看是否已经安装python:

1480612-20190604093102533-1542446522.png

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

1480612-20190604093950544-1884012041.png
1480612-20190604093321586-507475681.png

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

1480612-20190604094627931-496955849.png

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

1480612-20190604094714263-631938382.png

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

1480612-20190604095027674-423595457.png
1480612-20190604095047151-374982417.png

6)启动hadoop:

1480612-20190604095813072-804758072.png

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

1480612-20190604100154856-1468375254.png

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

1480612-20190605172356544-14513529.png

1480612-20190604101041500-1443468066.png

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

1480612-20190604101129725-1791704979.png
1480612-20190604101208544-782878015.png
1480612-20190604101233833-2140719946.png

转载于:https://www.cnblogs.com/Xi-Chen00/p/10966223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值