MapReduce

来源:互联网 发布:冰毒工具玻璃头淘宝 编辑:程序博客网 时间:2024/05/07 12:49

    对MapReduce进行简要的总结,都是精华!

   一:Map阶段:

   1 输入的数据被切分成多个块,然后每一个块都被放入Map阶段进行处理(Map中有Map Task引擎),每一个块对应一个map。

   2 每一个块数据在map中都会进行combiner合并(local reduce), 以防大量的重复的信息进入reduce阶段,缓解reduce的压力。

   3 每一个map介绍后都要进行partitioner处理,根据每一个key的值,按照partitioner算法分配到不同的reduce阶段,这部分是把数据写到本地磁盘中的。

  二:Reduce阶段:

   1 通过shuffle从partitioner中远程拷贝数据。

   2 进行sort排序,有多少个不同的key,进行多少次循环。

   3 每一个reduce产生不同的结果,存储到目标目录中,该目录存在n个reduce结果集。

   4 将目标目录中的reduce结果集文件进行合并成一个文件,或者下一阶段要处理reduce结果集多个文件也可以。

   三:原理如下图

0 0