2

我使用 Apache Flume 将大量推文传输到 Hadoop 的 HDFS 中。我试图对这些数据进行情绪分析——只是一些简单的开始,比如正面与负面的词比较。

我的问题是,我找到的所有向我展示如何做到这一点的指南都有一个包含正面和负面词的文本文件,然后每条推文都有一个巨大的文本文件。

当我使用 Flume 时,我所有的数据都已经在 Hadoop 中了。当我使用 localhost:50070 访问它时,我可以根据月/日/小时在单独的文件中查看数据,每个文件包含三到四条推文。我每小时可能有 50 个这样的文件。虽然它没有说任何地方,但我假设它们是 JSON 格式。

考虑到这一点,我该如何对它们进行分析?在我看到的所有编写 Mapper 和 Reducer 的示例中,只有一个文件执行了此操作,而不是大量的小型 JSON 文件集合。我的下一步应该是什么?

4

2 回答 2

1

这个例子应该让你开始 https://github.com/cloudera/cdh-twitter-example

基本上使用 hive 外部表来映射您的 json 数据并使用 hiveql 进行查询

于 2013-08-04T12:01:25.663 回答
0

当您要处理目录中的所有文件时,您只需将目录的路径指定为您的 hadoop 作业的输入文件,以便它将该目录中的所有文件视为其输入。

例如,如果您的小文件位于/user/flume/tweets/....目录中,那么在您的 hadoop 作业中,您只需指定/user/flume/tweets/作为输入文件。

如果您想每隔一小时自动执行一次分析,您需要编写一个 oozie 工作流。

您可以参考以下链接进行 Hive 中的情感分析

https://acadgild.com/blog/sentiment-analysis-on-tweets-with-apache-hive-using-afinn-dictionary/

于 2016-07-06T07:02:57.377 回答