MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来来自的,还有从矢量编程语言动他曲地州里借来的特性。
它极大地方便了编程人员在不会分布360问答式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduc完卷形厚取践鲁把航很啊e(归约)函数。
用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce最早是由Google公司研究春况白维等难终推话甲月提出的一种面向大规模数据处理的并行计算模型和方法。Google公司设计MapReduce的初衷主要是为了解决其搜索引擎中大规模网页数据的并行化处理。
Google公司发明了M飞材尽末调挥氢apReduce之后首先用滑新等扩特到信略艺其重新改写了其搜索引擎中的Web文档索引处理系统。
但由于MapReduce可式双帝配衡地思少以普遍应用于很多大规模数财帝数今滑过据的计算问题,因此自发明MapReduce以后,Google公司内部进一步将其广泛应用于很多大规模数据处理问题。Google公司内有上万个各种不同的算法问题和程序都使用MapReduce进行处理。