0

我现在正在关注两个教程,并且都已启动并正在运行,并且我从它们那里获得了很多推文/情绪评分:

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) 我是否需要明确搜索具有地理位置/地点的推文?而不是获取所有推文,然后过滤掉具有地理位置/地点的推文?如果是这样,我可以在 Spark Streaming 中执行此搜索吗?这是我在 Spark Streaming 中的代码:

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

感谢您的帮助!

4

1 回答 1

0

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

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

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

希望这可以帮助。

于 2015-11-11T07:31:37.297 回答