Um Timeline Tweets mit Spark Streaming und Scala nach Hause zu bekommen, müssen wir die Twitter OAuth-Anmeldeinformationen unter TwitterFactory
in twitter4j
festlegen.
import twitter4j.TwitterFactory
import twitter4j.auth.AccessToken
// Twitter Authentication credentials
val consumerKey = "twitter_consumer_key"
val consumerSecret = "twitter_consumer_secret"
val accessToken = "twitter_access_token"
val accessTokenSecret = "twitter_access_token_secret"
// Authorizing with your Twitter Application credentials
val twitter = new TwitterFactory().getInstance()
twitter.setOAuthConsumer(consumerKey, consumerSecret)
twitter.setOAuthAccessToken(new AccessToken(accessToken, accessTokenSecret))
// Setting up streaming context with a window of 10 seconds
val ssc = new StreamingContext(sc, Seconds(1))
val output = TwitterUtils.createStream(ssc, Option(twitter.getAuthorization()))
Oder wenn Sie nicht über die Zugangsdaten in ssc
festlegen möchten, dann können Sie folgenden Code verwenden:
System.setProperty("twitter4j.oauth.consumerKey", "twitter_consumer_key")
System.setProperty("twitter4j.oauth.consumerSecret", "twitter_consumer_secret")
System.setProperty("twitter4j.oauth.accessToken", "twitter_access_token")
System.setProperty("twitter4j.oauth.accessTokenSecret", "twitter_access_token_secret")
val ssc = new StreamingContext(sc, Seconds(1))
val output = TwitterUtils.createStream(ssc, None)
Für ein vollwertiges Beispiel auf Spark-Streaming und Scala, beziehen sich folgendes Beispiel: knolx-spark-streaming
ich habe gleich und ich legen sie die Zugangsdaten in ssc, aber es erhält einen globalen Strom von Tweets und nicht von der Timeline. –