zoukankan      html  css  js  c++  java
  • MapReduce 过程分析

    原文地址:http://blog.jobbole.com/81676/

    2、WordCount处理过程

    上面给出了WordCount的设计思路和源码,但是没有深入细节,下面对WordCount进行更加详细的分析:

    (1)将文件拆分成splits,由于测试用的文件较小,所以每一个文件为一个split,并将文件按行分割成<key, value>对,如图,这一步由Mapreduce框架自动完成,其中偏移量包括了回车所占的字符

    (2)将分割好的<key, value>对交给用户定义的map方法进行处理,生成新的<key, value>对

    (3)得到map方法输出的<key, value>对后,Mapper会将它们按照key值进行排序,并执行Combine过程,将key值相同的value值累加,得到Mapper的最终输出结果,如图:

    (4)Reduce先对从Mapper接收的数据进行排序,再交由用户自定义的reduce方法进行处理,得到新的<key, value>对,并作为WordCount的输出结果,如图:


    解释2 

    原文地址: http://www.cnblogs.com/archimedes/p/mapreduce-principle.html

    MapReduce方法则是:

    1. 给在座的所有玩家中分配这摞牌

    2. 让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你

    3. 你把所有玩家告诉你的数字加起来,得到最后的结论

    mapReduce 是计算模型,计算模型就有输入和输出。   键值对输入, 键值对输出,而且中间每一个环节都是键值对的输入输出。

    1. 将大任务差分成小任务。

    2.分发任务到不同机器上,输入<文件名,查找内容>

    3.每个机器,map 接受<文件名,查找内容> 输出<查找内容,1>

    4.reduce 接受每个机器的map的结果,进行统计汇总,得出<查找内容,N>

  • 相关阅读:
    深入理解关系型数据库的数据水平切分和垂直切分
    数据库Sharding的基本思想和切分策略
    Mycat 设置全局序列号
    Spring MVC异常统一处理
    spring配置文件中bean标签
    浅析VO、DTO、DO、PO的概念、区别和用处
    CentOS7.0安装Nginx 1.7.4
    大数据的四大特点
    CentOS 7 上安装 redis3.2.3安装与配置
    CentOS7下安装MySQL5.7安装与配置(YUM)
  • 原文地址:https://www.cnblogs.com/alexlo/p/5742120.html
Copyright © 2011-2022 走看看