最近,我开始研究storm并且对python更加熟悉,我决定使用streamparse来处理storm。我打算在 spout 中接受一个 twitter 流并在 bolt 中执行一些计算。但我无法弄清楚如何在 spout 中编码。我已经阅读了各种流解析教程,但它们都显示了从静态列表中发出的 spout 元组,并且没有像 twitter 流 api 提供的流。这是我的风暴代码:
class WordSpout(Spout):
def initialize(self, stormconf, context):
self.words = itertools.cycle(['dog', 'cat','zebra', 'elephant'])
def next_tuple(self):
word = next(self.words)
self.emit([word])
这是我的 tweepy 代码:
class listener(StreamListener):
def on_status(self,status):
print(status.text)
print "--------------------------------"
return(True)
def on_error(self, status):
print "error"
def on_connect(self):
print "CONNECTED"
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["california"])
我应该如何整合这两个代码?