2016-07-06 89 views
5

使用akka流vs spark流進行流處理的優點/缺點是什麼?比如,建立在背壓,性能,容錯,內置轉換,靈活性等方面。我不是要求akka與火花利弊嚴格流組件。另外我不會在引擎蓋框架結構上有所不同。Akka Stream vs Spark Stream

+0

很確定Spark是建立在Akka上的,所以你的語法更加簡潔,用戶更友好,內置容錯功能(主管和其他功能),以及Spark的更多功能。如果您有更多的自定義需求,例如在單個羣集上運行具有不同參與者/流的大量不同作業,則應考慮使用Akka over Spark。否則,更多的功能可能是一件好事。這是一個更普遍的答案。 –

+0

我相信Spark在1.5之後離開Akka。 https://issues.apache.org/jira/browse/SPARK-6602 –

回答

2

阿卡流和Spark流來自2個不同的土地。不要讓這個詞「流」混淆你。

Akka流實現了一些被稱爲被動聲明的東西,它非常適合實現真正的低延遲,並且提供了很多運算符來輕鬆地在流中編寫聲明式轉換。更多關於這個https://doc.akka.io/docs/akka/2.5.4/scala/stream/stream-introduction.html#motivation

從2.2開始的Spark Streaming aka結構化流仍然是處理大量數據(大數據)的微批處理方法。事件被收集起來,然後每隔幾秒鐘小批量處理一次。

Akka流基本上不是分佈式的,不會跨集羣擴展,不像Spark.Akka流使用Akka的actor模型來實現併發。

Akka流是一個工具包,Spark是一個框架。 PS:即使幾個月前我也有同樣的問題。花了一段時間纔得到我的答案。希望它有幫助。