私は最新の Spark マスターを使用しており、さらに、これらの jar をロードしています。 .jar
シェルで実行する簡単なテスト プログラムは次のようになります。
import org.apache.spark.streaming._
import org.apache.spark.streaming.twitter._
import org.apache.spark.streaming.StreamingContext._
System.setProperty("twitter4j.oauth.consumerKey", "jXgXF...")
System.setProperty("twitter4j.oauth.consumerSecret", "mWPvQRl1....")
System.setProperty("twitter4j.oauth.accessToken", "26176....")
System.setProperty("twitter4j.oauth.accessTokenSecret", "J8Fcosm4...")
var ssc = new StreamingContext(sc, Seconds(1))
var tweets = TwitterUtils.createStream(ssc, None)
var statuses = tweets.map(_.getText)
statuses.print()
ssc.start()
ただし、ツイートはしません。私が見る主なエラーは
14/08/04 10:52:35 ERROR scheduler.ReceiverTracker: Deregistered receiver for stream 0: Error starting receiver 0 - java.lang.NoSuchMethodError: twitter4j.TwitterStream.addListener(Ltwitter4j/StatusListener;)V
at org.apache.spark.streaming.twitter.TwitterReceiver.onStart(TwitterInputDStream.scala:72)
....
そして、反復ごとに:
INFO scheduler.ReceiverTracker: Stream 0 received 0 blocks
問題がどこにあるのかわかりません。Twitter の資格情報が正しく認識されていることを確認するにはどうすればよいですか? 別の瓶が不足している可能性がありますか?