MapReduce是一个分布式计算框架
优点:可在短时间内完成大量工作
缺点:算法必须经过重写,需要对系统工程有一定的理解
使用数据类型:数值型和标称型数据
MapReduce在大量节点组成的集群上运行,它的工作流程是:
第一步,单个作业被分成很多小份,输入数据也被切片分发到每个节点,各个节点只在本地数据上做运算,对应的运算代码称为mapper,这个过程被称作map阶段。每个mapper的输出通过某种方式组合(一般还会做排序)。排序后的结果再被分成小份分发到各个节点进行下一步处理工作。
第二步的处理阶段称为reduce阶段,对应的运行代码被称为reducer。reducer的输出就是程序的最终执行结果。