MapReduce 是一个软件框架,可以将单个计算作业分配给多台计算机执行。MapReduce在大量节点组成的集群上运行。它的工作流程是:单个作业被分成很多小分,输入数据也被切分发到每个节点,各个节点只在本地数据上做运算,对应的运算代码称为mapper,这个过程称作map阶段。每个mapper的输出通过某种方式组合(一般会排序)。排序后的结果再被分成小份分发到各个节点进行下一步处理工作。第二步的处理阶段被称为reduce阶段,对应的运行代码被称为reducer。reducer的输出就是程序的最终执行结果。
Hadoop是一个开源的java项目,为运行MapReduce作业提供了大量所需的功能,除了分布式计算外,还自带分布式文件系统。
Amazon网络服务(AWS)允许用户按时长租借计算资源,弹性MapReduce(EMR)是Amazon网络服务上的一个常用工具,可以帮助用户在AWS上运行Hadoop流作业ÿ