2016-06-01 31 views
0

我試圖在特定區域獲取推文。 我使用Spark 1.6.1(Scala)和Twitter4J 4.0.4。 節目的開始是標準的(按鍵等) 我創建了一個流與TwitterUtils像:Spark TwitterStream,按位置篩選推文

val tweetStream = TwitterUtils.createStream(ssc, None, filter, StorageLevel.MEMORY_ONLY_SER_2) 

我在我的研究中發現FilterQuery,並試圖 使用它在過濾tweetStream的方法但它不接受它。

我錯過了什麼?

感謝

回答

0

如果調試TwitterInputDStream.scala,特別是:

 val query = new FilterQuery 
 
     if (filters.size > 0) { 
 
     query.track(filters.mkString(",")) 
 
     newTwitterStream.filter(query) 
 
     } else { 
 
     newTwitterStream.sample() 
 
     }

過濾Twitter的數據流的唯一可能是基於作爲唯一的軌道關鍵字()方法用過的。我試過這個搜索特定的hashtags,工作。

+0

謝謝塔拉斯的解釋。所以你不知道是否有可能? – Lev

+0

據我所知,沒有。 –

0

誰有興趣按位置篩選我找到了解決方法。

每條推文都有地理位置(緯度/經度)
其他有用的字段是地點。它有許多可以按照以下方式過濾的字段:'國家','國家代碼','城市'等。

唯一的缺點是它在收到推文後被過濾,而不是在Twitter的一面。