MapReduce适合PB级以上海量数据的离线处理
MapReduce不擅长什么
MapReduce编程模型
实时计算
像MySQL一样,在毫秒级或者秒级内返回结果
流式计算
MapReduce的输入数据集是静态的,不能动态变化
MapReduce自身的设计特点决定了数据源必须是静态的
DAG计算
多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出
MapReduce将作业job的整个运行过程分为两个阶段:Map阶段和Reduce阶段
Map阶段由一定数量的
Map Task组成
输入数据格式解析:
InputFormat
输入数据处理:
Mapper
数据分组:
Partitioner
Reduce阶段由一定数量的
Reduce Task组成
数据远程拷贝
数据按照key排序 </