• MapReduce简介


    MapReduce:

    概念:MapReduce主要是分布式编程的一个编程模型

    优势:

    1、允许我们处理输入输出的限制

    2、他是个无共享架构,每个节点可以并行处理该节点上的数据, 无需包含其他节点的运行情况

    3、他能高效处理可能因为硬件问题造成的各种执行故障

    4、数据局部性,就是说代码找到数据所在节点,并在该节点对数 据进行处理

    5、他是从开发人员那里提炼分布是分层的一种办法。在编写程序时,不需要编写多线程程序。mapreduce确保代码能够获得不同节点上的数据,同时并行无间断的处理数据

    mapreduce流的六个阶段:

    1、input:mapper读取数据块

    2、split:mapper从基于记录的数据块中将每条记录传递给map函数(对记录的识别非常重要)

    3、mapping:mapper的业务逻辑会构成一张图

    4、shuffling:把多个节点上的具有相同key的mapper输出数据被聚合起来,重新排序,传送给一个单独的reducer

    5、reduceing:做最后的聚合工作,并将数据存储回HDFS

    6、final result:

    例如

    1、输入数据块

    hbase pig oozie

    hive hive oozie

    hbase hive pig

    2、执行split操作,生成key-value键:

    k1=0,v1=hbase pig oozie

    k2=16,v2=hive hive oozie

    k3=32,v3=hbase hive pig

    3、key-value建传输给mapper,生成list(k,v)

    【注意:mapper的执行结果写回执行处理程序的本地节点上,而不是写到HDFS上】

    4、根据key值,数据聚合,表达形式k,list(v)

    5、对结果继续执行聚集,聚集结果写进RDFS。

     

  • 相关阅读:
    备份服务-Rsync
    mysql查询语句,int类型加引号居然也能查
    echo显示带颜色
    python读文件
    python发送邮件
    javadoc源码获取
    mac修改终端用户名
    [tomcat]-tomcat8启动时SessionIdGeneratorBase.createSecureRandom耗时
    shell运算符
    shell中$*和$@ 两个都区别
  • 原文地址:https://www.cnblogs.com/chenyaling/p/5517353.html
Copyright © 2020-2023  润新知