When choosing to parallelize tasks I normally use Spark. Reading articles about parallel processing in Akka such as http://blog.knoldus.com/2011/09/19/power-of-parallel-processing-in-akka/ it seems using Akka to parallelize is at a lower level. It seems Spark abstracts some of the lower level concepts from the user, such as map reduce. Spark provides high level abstractions for grouping and filtering data. Is Akka a competitor to Spark for parallelising tasks or are they solving different problems ?
Before deciding which to use what considerations should I make ?
Spark is actually built on top of akka (at least, at the time of this writing). :) (http://akka.io/community/ - Check out "projects using akka")
That said, the big value spark provides you is in those abstractions you mentioned, mostly (IMO) in the concept of an RDD
and operations over RDD
s. So if your problem domain fits into that nicely, go ahead with Spark; otherwise, custom write your own akka stuff.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With