我已经使用apacheflume将大量tweet传输到hadoop的hdfs中。我试着对这些数据进行情绪分析-只是简单的开始,比如积极和消极的词比较。
我的问题是,我找到的所有指导我如何做到这一点有一个文本文件的积极和消极的话,然后一个巨大的文本文件与每个推特。
当我使用flume时,我所有的数据都已经在hadoop中了。当我使用localhost:50070 i 可以看到的数据,在不同的文件,根据月/日/小时,每个文件包含三个或四个推特。我每小时大概有50个这样的文件。虽然它没有说任何地方,但我假设它们是json格式的。
记住这一点,我如何才能对它们进行分析?在我看到的所有编写mapper和reducer的示例中,都有一个单独的文件,而不是一个小json文件的大集合。我下一步该怎么做?
2条答案
按热度按时间k7fdbhmy1#
这个例子应该让你开始https://github.com/cloudera/cdh-twitter-example
基本上使用hiveexternal表来Mapjson数据并使用hiveql进行查询
pinkon5k2#
当您想要处理一个目录中的所有文件时,您只需指定该目录的路径作为hadoop作业的输入文件,这样它就可以将该目录中的所有文件作为其输入。
例如,如果您的小文件位于目录/user/flume/tweets/。。。。然后在hadoop作业中,只需指定/user/flume/tweets/作为输入文件。
如果你想每一个小时自动分析,你需要写一个oozie工作流。
你可以参考下面的链接在Hive中进行情绪分析
https://acadgild.com/blog/sentiment-analysis-on-tweets-with-apache-hive-using-afinn-dictionary/