我有一个软件,可以处理一张图片,并为我提供该图片的一些结果,还有一个包含大量图片的数据库。
我想建立一个分布式架构,以便在多个服务器上处理这些图片,以获得时间。
我听说过Spark并搜索过它,但我不确定这个解决方案是否对我有好处。尽管如此,我不想错过什么。事实上,在我为Spark找到的所有示例中,总是处理可以拆分为较小任务/作业的任务/作业例如,一个文本可以拆分为多个较小的文本,因此字数可以很容易地处理。然而,当我使用我的软件时,我需要给出一个完整的画面,而不仅仅是它的一部分
那么,是否可以给Spark一个包含10张图片的任务(例如),然后Spark将其拆分为更小的任务(1个任务=1张图片),并将每张图片发送给一名工人如果可能的话,这是否非常有效?事实上,我听说过Celery,我想知道这种解决方案是否更适合我的情况。
谢谢你的帮助!:)
我认为这取决于你所说的"大量图片"是什么意思,以及你多久会处理一次"大量照片"。如果你有成千上万的图片,并且你会经常得到它们,那么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