四代大数据计算引擎
这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有Hadoop、Storm,以及后来的Spark大数据计算框架,他们都有着各自专注的应用场景。Spark掀开了内存计算的先河,也以
参考: 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有Hadoop、Storm,以及后来的Spark大数据计算框架,他们都有着各自专注的应用场景。Spark掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark的火热或多或少的掩盖了其他分布式计算的系统身影。就像Flink,也就在这个时候默默的发展着。 在国外一些社区,有很多人将大数据的计算引擎分成了4代,当然,也有很多人不会认同。我们先姑且这么认为和讨论。 首先第一代的计算引擎,无疑就是Hadoop承载的MapReduce。这里大家应该都不会对MapReduce陌生,它将计算分为两个阶段,分别为Map和Reduce。对于上层应用来说,就不得不想方设法去拆分算法,甚至于不得不在上层应用实现多个Job的串联,以完成一个完整的算法,例如迭代计算。 由于这样的弊端,催生了支持DAG框架的产生。因此,支持DAG的框架被划分为第二代计算引擎。如Tez以及更上层的Oozie。这里我们不去细究各种DAG实现之间的区别,不过对于当时的Tez和Oozie来说,大多还是批处理的任务。 接下来就是以Spark为代表的第三代的计算引擎。第三代计算引擎的特点主要是Job内部的DAG支持(不跨越Job),以及强调的实时计算。在这里,很多人也会认为第三代计算引擎也能够很好的运行批处理的Job。 随着第三代计算引擎的出现,促进了上层应用快速发展,例如各种迭代计算的性能以及对流计算和SQL等的支持。Flink的诞生就被归在了第四代。这应该主要表现在Flink对流计算的支持,以及更一步的实时性上面。当然Flink也可以支持Batch的任务,以及DAG的运算。 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |