Flink序列教程:大数据计算引擎发展(01)



近十年来大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。在国外一些社区,有很多人将大数据的计算引擎分成了四代:

  1. 首先第一代的计算引擎,无疑就是 Hadoop 承载的 MapReduce。这里大家应该都不会对 MapReduce 陌生,它将计算分为两个阶段,分别为 Map 和 Reduce。对于上层应用来说,就不得不想方设法去拆分算法,甚至于不得不在上层应用实现多个 Job 的串联,以完成一个完整的算法,例如迭代计算。由于这样的弊端,催生了支持 DAG 框架的产生。
  2. 支持 DAG 的框架被划分为第二代计算引擎,如 Tez 。Tez对mr做了dag方向的优化,提升了mr的速度,但由于其本质上还是基于mr,注定了速度不会超过spark。
  3. 接下来就是以 Spark 为代表的第三代的计算引擎。第三代计算引擎的特点主要是 Job 内部的 DAG 支持,以及实时计算。随着第三代计算引擎的出现,促进了上层应用快速发展,例如各种迭代计算的性能以及对流计算和 SQL 等的支持。
  4. Flink 的诞生就被归在了第四代。主要表现在 Flink 对流计算的支持,以及更一步的实时性上面。当然 Flink 也可以支持 Batch 的任务,以及 DAG 的运算。


Flink序列教程:大数据计算引擎发展(01)

大数据计算引擎发展和变革


Flink序列教程:大数据计算引擎发展(01)

flink序列教程

欢迎小伙伴们 关注+转发 +评论区留言,发表您的观点哦!点击下方蓝色字体 “了解更多” 可获取更多资料。


分享到:


相關文章: