【MapReduce】分布式计算框架MapReduce

2021-09-10 11:20:18 浏览数 (1)

分布式计算框架MapReduce

什么是MapReduce?

MapReduce起源是2004年10月Google发表了MapReduce论文,之后由Mike Cafarella在Nutch(爬虫项目)中实现了MapReduce的功能。它的设计初衷是解决搜索引擎中大规模网页数据的并行处理问题,之后成为Apache Hadoop的核心子项目。

它是一个面向批处理的分布式计算框架;在分布式环境中,MapReduce程序被分为Map(映射)阶段和Reduce(化简)阶段。

它的第一个核心思想,移动计算而非移动数据。在分布式环境中,数据是被拆分,然后存储到不同的节点,海量数据的情况下,这些数据的移动会造成非常大的开销,于是MapReduce将任务分发到数据所在的节点进行运算,这个阶段称为Map。各个节点的计算任务,因为使用的是部分数据,所以计算得到的结果,一定是部分结果;那就需要对这些部分结果进行汇总,这个汇总阶段称为Reduce。

整个的运算流程,是拆分到不同节点进行的,所以这也是它第二个核心思想的体现:分而治之,并行计算。

基本特点

首先作为分布式的计算框架,和其它大数据组件一样,拥有良好的扩展性和高容错的特性。其次,计算跟着数据走,这是大数据计算引擎常见的设计方式࿰

0 人点赞