9

タスクを並列化する場合、私は通常 Spark を使用します。http://blog.knoldus.com/2011/09/19/power-of-parallel-processing-in-akka/などの Akka での並列処理に関する記事を読むと、Akka を使用して並列化することは、より低いレベルにあるようです。Spark は、map reduce などの下位レベルの概念の一部をユーザーから抽象化しているようです。Spark は、データのグループ化とフィルタリングのための高レベルの抽象化を提供します。Akka はタスクの並列化に関して Spark の競合相手ですか、それとも別の問題を解決していますか?

どちらを使用するかを決定する前に、どのような考慮事項を作成する必要がありますか?

4

2 に答える 2

10

Spark は実際には akka の上に構築されています (少なくとも、この記事の執筆時点では)。:) ( http://akka.io/community/ - 「akka を使用したプロジェクト」をチェックしてください)

そうは言っても、spark が提供する大きな価値は、あなたが言及した抽象化にあり、ほとんど (IMO)と sRDDに対する操作の概念にありRDDます。したがって、問題のドメインがそれにうまく適合する場合は、Spark を使用してください。それ以外の場合は、カスタムで独自の akka を記述します。

于 2014-05-27T16:15:49.203 に答える
0

私の見解では、多数の小さなサイズのメッセージ (数百万) を処理する必要がある場合、akka に基づいてアプリケーションを作成できます。これは火花よりも速いはずです。コメントしてください。

メッセージデータが非常に大きい場合 (1 つ以上の jvm が必要)、RDD は必要ありません。spark には、最初のケースの場合にオーバーヘッドになる可能性のある追加機能がいくつかあります

于 2015-07-24T18:18:06.723 に答える