Hadoop MapReduce编程模型
MapReduce适用的应用场景特点:任务可被分解为相互独立的子问题
MapReduce编程模型共分5个步骤:
1 迭代。遍历输入数据,并将之解析成key/value对
2 将输入key/value对映射成另外一些key/value对
3 依据key对中间数据进行分组
4 以组为单位对数据进行归约
5 迭代。将最终产生的key/value对保存到输出文件中
MapReduce编程接口体系结构:

整个编程模型位于应用程序层和MapReduce Runtime之间,可以分为两层:
第一层:最基本的Java API,主要有InputFormat、Mapper、Partitioner、Reducer和OutputFormat。
大部分情况只需编写Mapper和Reducer
第二层:工具层。主要是为了方便用户编写复杂的MapReduce程序和利用其它编程语言增加MapReduce计算平台的兼容性
主要4个编程工具包:
1 JobControl:方便用户编写有依赖关系的作业,这些作业往往构成一个有向图
2 ChainMapper/ChainReducer:方便用户编写链式作业,即存在多个Mapper
3 Hadoop Streaming:方便用户采用非Java语言编写作业
4 Hadoop Pipes:C/C++程序员编写MapReduce程序提供的工具包

浙公网安备 33010602011771号