多任务为一体--Apache Spark

时间:2016-03-29 14:21:49

标签: apache-spark celery

我有一个软件可以处理一张图片,并为该图片和包含大量图片的数据库提供一些结果。

我想构建一个分布式架构,以便在多台服务器上处理这些图片,以便获得时间。

我听说Spark并搜索过它,但我不确定这个解决方案对我有好处。不过,我不想错过任何东西。 实际上,在我发现Spark的所有示例中,它始终处理可以拆分为较小任务/作业的任务/作业。 例如,文本可以分成多个较小的文本,因此,wordcount可以很容易地处理。 但是,当我使用我的软件时,我需要提供一个完整的图片,而不仅仅是它的一部分。

所以,是否可以为Spark提供一个包含10张图片的任务(例如),然后Spark将其拆分为较小的任务(1个任务= 1张图片)并将每张图片发送给工作人员? 如果可能,这是非常有效的吗?我实际上听说过Celery,我想知道这种解决方案对我的情况是否更好。

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

我认为这取决于你对“很多图片”的意思以及你经常会得到“很多图片”的处理方式。如果你有成千上万的图片,你会经常得到它们,那么Spark绝对是一个很好的解决方案。

从架构和需求的角度来看,我认为Spark或Storm都符合要求。我主要担心的是开销是否合理。例如,这个讲座是关于Spark的实时图像处理:

https://www.youtube.com/watch?v=I6qmEcGNgDo

你可以这样看看这个quora线程: https://www.quora.com/Has-anyone-developed-computer-vision-image-processing-algorithms-on-Twitter-Storm