大數據--計算引擎分類

  • 第一代計算引擎
首先第一代的計算引擎,無疑就是 Hadoop 承載的 MapReduce。這裏大家應該都不會對 MapReduce 陌生,它將計算分爲兩個階段,分別爲 MapReduce。對於上層應用來說,就不得不想方設法去拆分算法,甚至於不得不在上層應用實現多個 Job 的串聯,以完成一個完整的算法,例如迭代計算
  • 第二代計算引擎
由於這樣的弊端,催生了支持 DAG 框架的產生。因此,支持 DAG 的框架被劃分爲第二代計算引擎。如 Tez 以及更上層的 Oozie。這裏我們不去細究各種 DAG 實現之間的區別,不過對於當時的 Tez 和 Oozie 來說,大多還是批處理的任務
  • 第三代計算引擎
接下來就是以 Spark 爲代表的第三代的計算引擎。第三代計算引擎的特點主要是 Job 內部的 DAG 支持(不跨越 Job),以及強調的實時計算。在這裏,很多人也會認爲第三代計算引擎也能夠很好的運行批處理的 Job。

隨着第三代計算引擎的出現,促進了上層應用快速發展,例如各種迭代計算的性能以及對流計算和 SQL 等的支持。Flink 的誕生就被歸在了第四代。這應該主要表現在 Flink 對流計算的支持,以及更一步的實時性上面。當然 Flink 也可以支持 Batch 的任務,以及 DAG 的運算
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章