3.1 MapReduce计算模型

更新于 2026年10月10日 版权声明
3.1 MapReduce计算模型

MapReduce最早是由Google公司研究提出的一种面向大规模数据处理的并行计算模型和方法。Google公司设计MapReduce的初衷主要是解决其搜索引擎中大规模网页数据的并行化处理。Google公司发明了MapReduce之后,首先用其重新改写了Google搜索引擎中的Web文档索引处理系统。但由于MapReduce可以普遍应用于很多大规模数据的计算问题,因此自发明MapReduce以后,Google公司内部进一步将其广泛应用于大规模数据处理问题。Google公司内有上万个各种不同的算法问题和程序都使用MapReduce进行处理。

MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:

①MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。

②MapReduce是一个并行计算软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及的很多系统底层的复杂细节交由系统负责处理,大大减轻了软件开发人员的负担。(https://www.daowen.com)

③MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理。

由此可见,MapReduce是Google的一项重要技术,它是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。但对许多开发者来说,自己要完全实现一个并行计算程序难度太大,而MapReduce就是一种简化并行计算的编程模型,它使得那些没有多少并行计算经验的开发人员也可以开发并行应用程序。这就是MapReduce的价值所在,通过简化编程模型,降低了开发并行应用的入门门槛。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)