热点:

    X86架构 5种视频分析MapReduce框架对比

      [  安防知识网 转载  ]  
    收藏文章 阅读全文 暂无评论

      本文针对海量数据处理过程中的处理速度、存储空间、容错性、访问时间等方面存在的问题,通过对Google MapReduce编程模型的原理、执行流程等进行分析研究,介绍5种主要的MapReduce实现框架:Hadoop MapReduce、Apache Spark、Phoenix、Disco、Mars,以期对MapReduce编程模型在行业内的使用前景有一个较全面的认识。

      MapReduce介绍

      海量数据的处理对服务器CPU、I/O的吞吐都是严峻的考验,传统的技术架构和仅靠单台计算机基于串行的方式越来越不能适应当前海量数据处理的要求。只有将这些计算进行并行化处理,通过提取出处理过程中存在的可并行工作的分量,用分布式模型来实现这些并行分量的并行执行过程。

      MapReduce是由谷歌推出的一个编程模型,是一个能处理和生成超大规模数据集的算法模型,该架构能够在大量普通配置的计算机上实现并行化处理。

      MapReduce编程模型结合用户实现的Map和Reduce函数。用户自定义的Map函数处理一个输入的基于key/value pair的集合,输出中间基于key/value pair的集合,MapReduce库把中间所有具有相同key值的value值集合在一起后传递给Reduce函数,用户自定义的Reduce函数合并所有具有相同key值的value值,形成一个较小value值的集合。一般地,一个典型的MapReduce程序的执行流程如图1所示。

      MapReduce执行过程主要包括:

      将输入的海量数据切片分给不同的机器处理;

      执行Map任务的Worker将输入数据解析成key/value pair,用户定义的Map函数把输入的key/value pair转成中间形式的key/value pair;

      按照key值对中间形式的key/value进行排序、聚合;

      把不同的key值和相应的value集分配给不同的机器,完成Reduce运算;

      任务成功完成后,MapReduce的输出存放在R个输出文件中,一般情况下,这R个输出文件不需要合并成一个文件,而是作为另外一个MapReduce的输入,或者在另一个可处理多个分割文件的分布式应用中使用。

    security.zol.com.cn true //security.zol.com.cn/493/4933372.html report 1597   本文针对海量数据处理过程中的处理速度、存储空间、容错性、访问时间等方面存在的问题,通过对Google MapReduce编程模型的原理、执行流程等进行分析研究,介绍5种主要的MapReduce实现框架:Hadoop MapReduce、Apache Spark、Phoenix、Disco、Mars,以...
    提示:支持键盘“← →”键翻页阅读全文
    本文导航
    不喜欢(0) 点个赞(0)

    推荐经销商

    投诉欺诈商家: 010-83417888-9185
    • 北京
    • 上海

    安防监控文章推荐