摘要
MapReduce 是一种编程模型,能够处理和产生数据序列的联系性实现。用户定义map函数处理键值对来生成中间键值对,通过reduce函数通过中间键值对的联系来合并所有的中间值。很多现实世界的任务都应用了这个模型,接下来将进行介绍。
在此函数类型之下的程序是自动平行并且执行在商用机器的大数据集群上的。这个实时系统做好了这些细节分割输入数据,机群调度,提交机器错误,以及管理机器间必要的交流。这让没有任何平行和分发系统开发经验的程序员来利用大型分发系统的数据。
MapReduce运行在联合机器的大型集群上,是高度可扩展的一个典型的MapReduce计算处理很多T级数据在数千计主机上。程序员发现程序是简单可用的因为数百的MapReduce程序已经被实现了以及超过一千个MapReduce工作在谷歌集群上每天执行着。
1 介绍
在过去的五年中,作者和很多谷歌人实现了数百个特殊目标计算处理大规模未经处理的数据,像是爬文档、网页要求日志等,来计算不同种类的分割数据像是倒置索引,网页文档图形结构的不同表达,每个主机爬数据的页数汇总,特定日期内的频率最高的请求等等。