《MapReduce:Simplified Data Processing on Large Cluster》 阅读笔记
介绍 MapReduce是一种编程模式,以及与之相关的用于处理和生成大数据集的实现。其运作方式可以简单概括为以下步骤:一个大的输入被分成很多个小的输入块,同时,一个分布式系统中存在的多个计算机,组成一个大的计算机集群,这些分出来的小的输入块将会被集群中的计算机来执行,由一个 master 机器来分发人物。这些用于计算的机器成为 worker。master 将这个小的输入块分配给 worker,接下来就由worker来进行计算。我们称这个计算的过程为 Map,Map 会处理输入数据并生成一组结果。整个 Map 过程会产生很多个计算结果,我们称这些计算结果为中间值 (imtermediate value)。接下来,这些中间值就会被分配到 worker 中来执行 Reduce 任务,这个过程同样也是用 master 来分配的。关于 Reduce 任务,其主要目标即是合并具有相关联的中间值(key/value对)key值的中间值对,计算出结果。 上述过程即是一个 MapReduce 任务的基本步骤。当然,过程的Map函数和Reduce函数是可由用户指定的。在 MapReduce 架构下设计的程序代码将会自动的并行运行并运行在一个分布式集群里。我们接下来要关心的则是:输入数据的划分,程序运行中机器的调度,机器计算等处理过程出错,以及管理机器之间的数据交流。在本篇笔记中