Twitter的情感分析

时间:2015-09-02 17:07:13

标签: apache flume-twitter

先生,我想使用Apache hive,flume进行Twitter数据的情绪分析现在我有一个Twitter帐户,我已经设置了conf文件。但问题在于数据格式。它不是装在蜂房里。请帮助我,我在这里工作了一个月。

2 个答案:

答案 0 :(得分:0)

我认为您可以配置Flume代理从Twitter获取数据。您的问题是格式的数据

Apache Flume提供了几种接收器类型。其中两个对您的要求很有用。

  1. HDFS接收器
  2. Hive Sink
  3. 使用HDFS接收器

    1. 使用TwitterSource和HDFS Sink配置Flume代理。
    2. 提供您的Twitter OAuth详细信息,即Flume Agent的密钥。
    3. 完成代理配置后,启动它。
    4. 此代理将从Twitter获取数据,即推文并存储它 在HDFS路径中作为JSON文档。
    5. 在HDFS中提供数据后,使用带位置子句的JSON SerDe创建一个Hive外部表。
    6. JSON SerDe代码链接:https://github.com/cloudera/cdh-twitter-example/blob/master/hive-serdes/src/main/java/com/cloudera/hive/serde/JSONSerDe.java

      使用Hive Sink:

      Flume允许使用Hive Sink将数据写入Hive表。所以我们需要按如下方式配置Flume代理:

      TwiiterSource --> Channel --> Hive Sink
      1. 使用TwitterSource和Hive Sink配置Flume代理。
      2. 提供您的Twitter OAuth详细信息,即Flume Agent的密钥。
      3. 完成代理配置后,启动它。
      4. 此代理将从Twitter获取数据,即推文并存储它 在Hive表中。这使用JSON SerDe。
      5. Hive Sink有一个名为 序列化器 的参数来告诉SerDe的类型。

        支持序列化程序 DELIMITED JSON

        因此,请使用上述任何一种解决方案配置您的Flume代理。

        请使用此文档链接获取有关接收器参数(HDFS + Hive)

        的更多详细信息

        https://flume.apache.org/FlumeUserGuide.html

答案 1 :(得分:0)

您可以尝试添加此jar文件

hive-serdes-1.0-SNAPSHOT.jar

您可以按照以下博客获取使用Hive执行情绪分析的完整参考。

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