2016-10-06 21 views
0

我在scala中使用Spark流,我正在使用流twitter數據。我有以下代碼:斯卡拉Spark流代碼中的錯誤

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-twitter uses Twitter4jgetLang()只支持版本3.0.6Twitter4J。如果您使用的火花流,嘰嘰喳喳版本1.5.2 (或更低),您將無法調用getLang(),因爲它使用的版本twitter4j3.0.3。由於1.6.0版本4.0.4支持以及getLang()函數。

所以你可以升級spark-streaming-twitter1.6.0或更高。或者您可以使用其他第三方庫來檢測您的推文語言。

(可能duplicate