我有一些用python编写的图像分类器。web上提供了许多示例,这些示例描述了在storm bolt中使用python的方法,storm bolt使用stdin/stdout。我想将我的python图像分类器与storm crawler拓扑集成。有没有可能?谢谢
2ul0zpep1#
确实有可能,几年前就做过这样的工作,将带有tensorflow的图像分类器集成到stormcrawler拓扑中。我记不住细节了,我为客户编写了代码,但它是基于multilang协议的,不幸的是,我记不住细节了。
iyr7buue2#
是的,你可以。如果您使用的是flux,这是一个关于如何在拓扑中使用python螺栓的示例定义:
- id: "pythonbolt" className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt" constructorArgs: - ["python", "/absolute/path/to/your/python_file.py"] # declare your outputs here: - ["output0", "output1", "output2"] parallelism: 1
注意:确保向python bolt发出简单的数据类型(比如string、integer等)。不是java数据类型,否则会抛出错误!首次下载storm.py表单在这里这是一个python螺栓示例:
import storm class SampleBolt(storm.BasicBolt): # Initialize this instance def initialize(self, conf, context): self._conf = conf self._context = context def process(self, tup): # Some processes here, and then emit your outputs. storm.emit([output0, output1, output2]) # Start the bolt when it's invoked SampleBolt().run()
2条答案
按热度按时间2ul0zpep1#
确实有可能,几年前就做过这样的工作,将带有tensorflow的图像分类器集成到stormcrawler拓扑中。我记不住细节了,我为客户编写了代码,但它是基于multilang协议的,不幸的是,我记不住细节了。
iyr7buue2#
是的,你可以。如果您使用的是flux,这是一个关于如何在拓扑中使用python螺栓的示例定义:
注意:确保向python bolt发出简单的数据类型(比如string、integer等)。不是java数据类型,否则会抛出错误!首次下载storm.py表单
在这里
这是一个python螺栓示例: