2016-10-06 2 views
0

Я использую искрообразование в scala, где я работаю с потоковыми данными twitter. У меня есть следующий код:Ошибка в Spark Код потоковой передачи в scala

val ssc = new StreamingContext(new SparkConf(), Seconds(5)) 
val tweets = TwitterUtils.createStream(ssc, None) 

val user = tweets.map(x=> x.getText()) 
val lang = tweets.map(x=> x.getLang()) 

Я получаю следующее сообщение об ошибке:

[error] /home/user/Lab1.1/Twitterstats.scala:103: value getLang is not a member of twitter4j.Status 
[error]     val lang = tweets.map(x=> x.getLang()) 
[error]           ^
[error] one error found 

Что плохого в приведенном выше коде? Может кто-то помочь.

+0

какая версия искровым потокового твиттере вы используете – RudyVerboven

ответ

3

spark-streaming-twitterTwitter4j. getLang() поддерживается только с версии 3.0.6 от Twitter4J. Если вы используете версию 1.5.2 (или нижний) искровым потокового твиттер вы не сможете назвать getLang(), поскольку он использует версию 3.0.3 из twitter4j. С 1.6.0 версия 4.0.4 поддерживается как функция getLang().

Таким образом, вы могли бы обновить искровым потокового твиттер к 1.6.0 или выше. Или вы можете использовать другую стороннюю библиотеку для определения языка ваших твитов.

(возможно duplicate)

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