我试图在特定区域发送推文。 我使用Spark 1.6.1(Scala)和Twitter4J 4.0.4。 程序的开头是标准的(键等) 我使用TwitterUtils创建了一个流:
val tweetStream = TwitterUtils.createStream(ssc, None, filter, StorageLevel.MEMORY_ONLY_SER_2)
我在研究 FilterQuery 上找到了并尝试过 在tweetStream的过滤器方法中使用它,但它不接受它。
我错过了什么?
由于
答案 0 :(得分:0)
如果你调试TwitterInputDStream.scala,特别是:
val query = new FilterQuery
if (filters.size > 0) {
query.track(filters.mkString(","))
newTwitterStream.filter(query)
} else {
newTwitterStream.sample()
}
过滤Twitter流的唯一可能性是基于关键字,因为只使用了track()方法。我试过这个搜索特定的主题标签,这有效。
答案 1 :(得分:0)
有兴趣按位置过滤我找到了解决方法。
每条推文都有geoLocation(lat。/ long。)
其他有用的领域是Place。它有许多字段可以过滤:'Country','CountryCode','City'等。
唯一的缺点是,在收到推文而不是Twitter方面,它会被过滤掉。