MapReduce计算模型介绍

MapReduce是一种用于处理和生成大规模数据集的编程模型,核心思想是“分而治之”。Map阶段将复杂任务分解为小任务并行处理,Reduce阶段则对结果进行汇总。MapReduce在大数据处理中发挥关键作用,通过分布式计算显著提高效率。
摘要由CSDN通过智能技术生成
一、理解MapReduce思想

MapReduce思想在生活中处处可见。或多或少都曾接触过这种思想。
MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想,而不是自己原创。
Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。
可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。
Reduce负责“合”,即对map阶段的结果进行全局汇总。

这两个阶段合起来正是MapReduce思想的体现。

还有一个比较形象的语言解释MapReducc:
我们要数图书馆中的所有书你数1号书架,我数2号书架。这就是“Map”我们人越多,数书就更快。
现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。

比如我们要统计一个文件中出现的单词的次数,
传统思想就是写一个Java程序去获取文件到本地,统计到的思路 要把文件的所有块拉取过来,然后统计。如果数据特别大,拉取数据就比较耗时。
如果我们采用分布式计算思想(MapReduce)明显效率会比较高。

在这里插入图片描述

二、深入理解MapReduce原理

MapReduce程序的执行流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值