大数据--计算引擎分类

  • 第一代计算引擎
首先第一代的计算引擎,无疑就是 Hadoop 承载的 MapReduce。这里你们应该都不会对 MapReduce 陌生,它将计算分为两个阶段,分别为 MapReduce。对于上层应用来讲,就不得不千方百计去拆分算法,甚至于不得不在上层应用实现多个 Job 的串联,以完成一个完整的算法,例如迭代计算
  • 第二代计算引擎
因为这样的弊端,催生了支持 DAG 框架的产生。所以,支持 DAG 的框架被划分为第二代计算引擎。如 Tez 以及更上层的 Oozie。这里咱们不去细究各类 DAG 实现之间的区别,不过对于当时的 Tez 和 Oozie 来讲,大多仍是批处理的任务
  • 第三代计算引擎
接下来就是以 Spark 为表明的第三代的计算引擎。第三代计算引擎的特色主要是 Job 内部的 DAG 支持(不跨越 Job),以及强调的实时计算。在这里,不少人也会认为第三代计算引擎也可以很好的运行批处理的 Job。

随着第三代计算引擎的出现,促进了上层应用快速发展,例如各类迭代计算的性能以及对流计算和 SQL 等的支持。Flink 的诞生就被归在了第四代。这应该主要表如今 Flink 对流计算的支持,以及更一步的实时性上面。固然 Flink 也能够支持 Batch 的任务,以及 DAG 的运算