2015-12-19 3 views
0

Я новичок в Spark и Scala. Я написал программу для получения хэштега или твита в Twitter, используя Spark Streaming. Мой код таков:Spark Twitter Streaming

val conf = new SparkConf().setMaster("local[2]").setAppName("SparkTwitterHelloWorldExample"); 
    val jssc = new StreamingContext(conf, new Duration(1000)); 
    System.setProperty("twitter4j.oauth.consumerKey", consumerKey); 
    System.setProperty("twitter4j.oauth.consumerSecret", consumerSecret); 
    System.setProperty("twitter4j.oauth.accessToken", accessToken); 
    System.setProperty("twitter4j.oauth.accessTokenSecret", accessTokenSecret); 

    val twitterStream=TwitterUtils.createStream(jssc, None, Array("#Spark")) 

    // Without filter: Output text of all tweets 
    val statuses = twitterStream.map{ status => status.getText() } 
    val hashTags = statuses.filter(word => word.startsWith("#Spark")) 
    val tagCounts = hashTags.window(Seconds(100), Seconds(10)).countByValue() 
    hashTags.count().print(); 
    tagCounts.count().print(); 
    jssc.start(); 

Этот код всегда печатает 0, и я не знаю почему? Не могли бы вы помочь мне, если кто-нибудь знает, спасибо.

ответ

0

Я думаю, что прямо сейчас этот код будет просто искать твиты со статусом, начинающимся с #Spark. Кроме того, я бы предложил уменьшить размер текста, чтобы вы могли найти #Spark, #spark, #SPARK и т. Д. Можете ли вы попробовать это?

val hashTags = statuses.filter(word => word.toLowerCase.contains("#Spark")) 

Другой вариант заключается в первую получить все хэштегов в статусе, а затем продолжить из списка хэштегов. Вы можете найти примеры этого в примерах искры:

https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/TwitterPopularTags.scala 
+0

Благодарим за ответ. Теперь, когда я печатаю хэш-теги, я получаю время для задания, которое есть время: 1450611281000 мс .. Не могли бы вы рассказать мне, как получить статусы? – Licky

+0

И для этого примера вы дали мне, я снова получаю 0 .. Я не знаю, в чем проблема – Licky

Смежные вопросы