文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大数据引擎分代

2016-03-28 18:37

关注

大数据引擎分代

大致可以将大数据的计算引擎分成了 4 代。

1、第一代的计算引擎,无疑就是Hadoop承载的MapReduce。它将每个JobApp都被设计为两个阶段,分别为Map和Reduce。对于上层应用来说,就不得不想方设法去拆分算法,甚至于不得不在
上层应用实现多个App的串联,才能完成一个完整的算法,例如迭代计算,不够灵活,中间计算结果涉及到磁盘shuffle,影响效率。
Hadoop设计理念来自Google的三篇论文的启发催生了下列组件
HDFS:分布式存储【在役】
MapReduce:分布式结算【退役】
Hbase:分布式查询【在役】

2、由于第一代的弊端,催生了支持 DAG 框架的产生,实现了DAG定义与算子的解耦。因此,支持用户在算子外部自定义 DAG 的框架被划分为第二代计算引擎。如 Tez 以及更上层的 Oozie。这里我们不去细究各种 DAG 实现之间的区别,不过对于当时的 Tez 和 Oozie 来说,大多还是批处理的任务。

3、接下来就是以 Spark 为代表的第三代的计算引擎。第三代计算引擎的特点主要是一个App内部支持多个Job,每个Job可以代表一套完整的数据处理流程(用Job完成一个完整流程的隔离),并
实现了Job内嵌DAG,以及强调的实时计算。在这里,很多人也会认为第三代计算引擎也能够很好的运行批处理的 Job。
Spark中几个概念的作用范围:App > Job > Stage > Operator > Task,从左至右都是1对多的关系。

4、随着第三代计算引擎的出现,促进了上层应用快速发展,例如各种迭代计算的性能以及对流计算和SQL等的支持。Flink的诞生就被归在了第四代。这应该主要表现在Flink对实时流计算的支持,以及更进一步的实时性上面。当然Flink也可以支持Batch的任务,以及DAG的运算。当然与Spark相比Flink还做了其他优化设计,比如更好的JVM内存管理(Flink并没有将全部内存交给App管理,避免了在Spark中较频发的OOM)。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯