浅析MapReduce(二)

浅析MapReduce(二)

Map -> Reduce

Map阶段五大步骤

http://ov1nop9io.bkt.clouddn.com/121403128869360.png

MapReduce其实是分治算法的一种实现,所谓分治算法就是“就是分而治之”,将大的问题分解为相同类型的子问题(最好具有相同的规模),对子问题进行求解,然后合并成大问题的解。MapReduce就是分治法的一种,将输入进行分片,然后交给不同的task进行处理,然后合并成最终的解。具体流程图如下:

http://ov1nop9io.bkt.clouddn.com/20161228113443840.png

MapReduce实际的处理过程可以理解为Input->Map->Sort->Combine->Partition->Reduce->Output。

(1)Input阶段 数据以一定的格式传递给Mapper,有TextInputFormat,DBInputFormat,SequenceFileFormat等可以使用,在Job.setInputFormat可以设置,也可以自定义分分片函数。

(2)Map

posted @ 2018-01-29 19:31  legolas007  阅读(29)  评论(0)    收藏  举报