9

在选择并行化任务时,我通常使用 Spark。阅读有关 Akka 并行处理的文章,例如http://blog.knoldus.com/2011/09/19/power-of-parallel-processing-in-akka/似乎使用 Akka 进行并行化处于较低水平。Spark 似乎从用户那里抽象了一些较低级别的概念,例如 map reduce。Spark 为分组和过滤数据提供了高级抽象。Akka 在并行化任务方面是 Spark 的竞争对手,还是他们在解决不同的问题?

在决定使用哪个之前,我应该考虑什么?

4

2 回答 2

10

Spark 实际上是建立在 akka 之上的(至少在撰写本文时是这样)。:) ( http://akka.io/community/ - 查看“使用 akka 的项目”)

也就是说,火花为您提供的巨大价值在于您提到的那些抽象,主要是(IMO)在 anRDD和对RDDs 的操作的概念中。因此,如果您的问题领域非常适合,请继续使用 Spark;否则,自定义编写您自己的 akka 内容。

于 2014-05-27T16:15:49.203 回答
0

我的看法是,如果我们必须处理许多小消息(数百万)可以编写基于 akka 的应用程序。这应该比火花快。请评论。

如果消息数据非常大,则不能(需要超过 1 个 jvm)需要 RDD。spark 有一些额外的功能,在第一种情况下可能是开销

于 2015-07-24T18:18:06.723 回答