1)将大数据并行处理问题分而治之,即将一个大数据通过一定的数据划分方法,分成多个较小的具有同样计算过程的数据块,数据块之间不存在依赖关系,将每一个数据块分给不同的节点去处理,最后将处理的结果进行汇总
2)上升到抽象语言模型Map和Reduce,将对大量顺序式数据元素或者记录进行扫描和对每个数据元素或记录做相应的处理并获得中间结果信息的两个过程抽象为Map操作;将对中间结果进行收集整理和产生最终结果并输出的过程抽象为Reduce
3)以统一架构为程序员们隐藏系统层的细节,MapReduce提供统一框架实现了自动并行化处理,可负责自动完成多种系统底层的相关处理,如计算任务的自动划分和调度、数据的自动化分布式存储和划分、处理数据与计算任务的同步、结果数据的收集整理、系统通信、负载平衡、计算性能优化处理、处理节点出错检测和失效恢复等,这些自动实现并行计算,隐藏了系统层的细节