我现在正在关注两个教程,两个教程都正常运行,我从中得到了大量的推文/情感分数:
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())))
感谢您的帮助!
答案 0 :(得分:0)
我个人使用免费的Twitter API获取位置并在PowerBi的地图上发布。所以你可以排除第一个障碍。
需要注意的一点是,位置字段仅在客户端明确允许应用程序具有位置时才可用,这使得很难找到它。我的样本数据中数据与位置的比率约为8%。
对于火花方面没有答案,只是想帮助你排除第一种可能性。
希望这有帮助。