我是暴风雨使用python的新手。我在本地模式下运行它时遇到问题
ERROR backtype.storm.util - Async loop died!
java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: Pipe to subprocess seems to be broken! No output read.
Serializer Exception:
usage: simbolt.py [-h] --data DATAPATH --pre PRECOMPPATH --res RESULT --inp
ORIGFILE
simbolt.py: error: argument --data/-d is required
我无法想象如何解决它或问题出在哪里? 如果你需要什么我可以从代码中分享它,知道原因请告诉我
答案 0 :(得分:0)
首先你想做什么?如果您正在调用子进程,我假设您正在尝试使用传入元组中收到的数据从螺栓运行外部程序?如果是这样,有更多的Storm(JVM)本机方法可以做到这一点,但需要使用Java。
如果您使用Python和其他外部程序处理数据并希望以分布式方式执行,那么Storm可能不是您最好的选择。你可能最好使用像Celery这样的东西。
但是,如果你想要Storm的所有优点,你可以重写外部子进程在Python中所做的任何事情,那么StreamParse可能是一个不错的选择。
如果您可以提供有关您尝试使用子流程和整体拓扑的更多信息,我可能会进一步提供帮助。