MapReduce
MapReduce概念
2004年,Google发表一篇MapReduce论文,向全世界介绍了MapReduce,MapReduce主要应用于日志分析,海量数据的排序等应用场景。Doug cutting根据谷歌的论文MapReduce编写一个框架并将源代码贡献出来。
MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决离线海量数据的计算问题,不能实现对实时数据的分析和处理。
MapReduce由两个阶段组成:
map():任务分解,reduce():结果汇总,这两个函数的形参是key、value对,表示函数的输入信息。
map、reduce键值对格式:
MapReduce的总执行过程
为了更简单的理解MapReducer的执行过程,先对它来个总体的过程图如下:
MapReduce运行的时候,通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方