深入理解hadoop值MapReduce(2)
1.MapReduce编程模型概述
MapReduce编程模型给出了分布式的编程方法,总共分为5个步骤。分为这5个步骤的优点:组件化和并行化
(1)迭代。遍历输入数据,并将其解析成key/value键值对
(2)将输入的key/value对映射(map)成另外一些key/value对
(3)依据key对中间数据进行分组(grouping)
(4)以组为单位对数据进行规约(reduce)
(5)迭代。将最终产生的数据保存到输出文件中
2.MapReduce编程接口体系结构:整个编程模型谓语应用程序层和MapReduce执行器之间,可以分为两层。第一层是最基本的java API,主要由5个编程组件。分别是InputFormat、Mapper、Partitioner、Reducer和OutPutFormat
3.序列化:将结构化对象转换成字节流以便于通过网络进行传输或者持久存储的过程。反序列化:将字节流转换成结构化的对象。序列化的作用有两个:永久存储和进程间的通信。
4.当使用基于FileInputFormat实现InputFormat时候,为了提高Map Task的数据本地性,应尽量使用InputSplit大小与block大小相同