无法查看任何推文的时区,地点或地理位置

时间:2015-09-17 00:34:31

标签: twitter twitter-oauth twitter4j spark-streaming azure-stream-analytics

我现在正在关注两个教程,两个教程都正常运行,我从中得到了大量的推文/情感分数:

1) Azure上的Twitter流分析 https://azure.microsoft.com/en-us/documentation/articles/stream-analytics-twitter-sentiment-analysis-trends/

2)使用Spark Streaming进行Twitter分析 http://ampcamp.berkeley.edu/3/exercises/realtime-processing-with-spark-streaming.html

我正在使用apps.twitter.com提供的免费oauth工具。

问题 我在Spark Streaming应用程序中尝试过getPlace,getGeoLocation,我得到的每条推文都有这两个字段的空值。我已经尝试过滤只有getPlace值的推文,得到GeoLocation,我得到两个空值(我运行应用程序差不多20分钟)。

我也尝试在Azure应用中获取TimeZone(因此我可以获得某种地理数据),即便如此,我仍然为TimeZone获取空值。

可能的障碍 1)免费的twitter api是否会过滤掉地点/地理位置信息,以便最终购买更好的api订阅?

2)我是否需要明确搜索具有geoLocation / Places的推文?而不是获取所有推文,然后筛选出具有geoLocation / Places的推文?如果是这样,我可以在Spark Streaming中执行此搜索吗?这是我在Spark Streaming中的代码:

val stream = TwitterUtils.createStream(ssc, None, filters) 
val hashTags = stream.map(status => Tweet(status.getPlace().getName(), classifyTweet(status.getText())))

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我个人使用免费的Twitter API获取位置并在PowerBi的地图上发布。所以你可以排除第一个障碍。

需要注意的一点是,位置字段仅在客户端明确允许应用程序具有位置时才可用,这使得很难找到它。我的样本数据中数据与位置的比率约为8%。

对于火花方面没有答案,只是想帮助你排除第一种可能性。

希望这有帮助。