原论文链接

MapReduce,是一个编程的模型,

用于处理和生成大型数据集的编程模型和相关实现。用户指定一个map函数,处理一个键/值对,生成一组中间键/值对,以及一个reduce函数,合并与同一个中间键相关的所有中间值。如文中所示,许多现实世界的任务都可以用这个模型来表达。

以这种功能风格编写的程序会自动并行化,并在大型商品机集群上执行。运行时系统负责对输入数据进行分区、在一组机器上调度程序的执行、处理机器故障以及管理所需的机器间通信等细节。这使得没有任何并行和分布式系统经验的程序员可以轻松地利用大型分布式系统的资源。

我们对MapReduce的实现在大型商品机集群上运行,并且具有高度的可扩展性:一个典型的MapReduce计算可以在数千台机器上处理许多TB的数据。程序员们发现这个系统很容易使用:已经实现了数百个MapReduce程序,每天在Google的集群上执行的MapReduce作业多达一千多个。

任务: