大数据 -- MapReduce

栏目: 编程工具 · 发布时间: 7年前

大数据 -- MapReduce

石器时代

  1. 石器时代:MapReduce诞生之前的时期
  2. 数据的大规模处理问题早已存在,但数据的大规模处理技术还处于彷徨阶段
    • 每个公司或个人都可能有自己的一套 工具 处理数据,但没有提炼抽象出一个系统的方法

青铜时代

  1. 2003年,MapReduce的诞生标志了超大规模数据处理的第一次革命
  2. 论文:《MapReduce: Simplified Data Processing on Large Clusters》
    • Jeff Dean和Sanjay Ghemawat从纷繁复杂的业务逻辑中,抽象出通用的编程模型:Map和Reduce
  3. 后来的Hadoop是对GFS、BigTable、MapReduce的开源实现

蒸汽机时代

  1. 从2016年开始,Google在新员工的培训中把MapReduce替换成内部称为 FlumeJava 的数据处理技术
  2. FlumeJava不等同于Apache Flume,这标志着青铜时代的终结,同时标志着蒸汽机时代的开始
  3. Google FlumeJava对应的开源版本为 Apache Beam

MapReduce的缺点

高昂的维护成本

  1. 使用MapReduce,需要严格地遵循分步的Map和Reduce步骤
  2. 当构造复杂的处理架构时,往往需要 协调 多个Map和多个Reduce任务
  3. 但是每一步的MapReduce都有可能出错,为了处理这些异常,很多人开始设计自己的 协调系统 ,大大 增加整个系统的复杂度
  4. 真实的商业MapReduce场景 极端复杂
    • 在应用过程中,每个MapReduce任务都可能出错,都需要重试和异常处理的机制
    • 而协调这些子MapReduce的任务往往需要与业务逻辑 紧密耦合 的状态机

时间性能差

  1. MapReduce性能优化配置非常复杂,Google关于MapReduce的性能优化手册有500多页
  2. Google曾在2007年到2012年做过对1PB数据的大规模 排序 实验,用来测试MapReduce的性能
    • 2007年为12小时,2012年为0.5小时,Google花了5年的时间才不断优化了一个MapReduce流程的效率

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

深入理解计算机系统(英文版·第2版)

深入理解计算机系统(英文版·第2版)

[美] Randal E. Bryant、[美] David R. O'Hallaron / 机械工业出版社 / 2011-1 / 128.00元

本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。 相对于第1版,本版主要是反映了过去十年间硬件技术和编译器的变化,具体更新如下: 1. 对系统的介绍(特别是实际使......一起来看看 《深入理解计算机系统(英文版·第2版)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具