Данные в Hbase структурированы не так, как должны быть — Twitter Flume

#twitter #jar #hbase #flume #cloudera-manager

#Twitter #jar #hbase #желоб #cloudera-менеджер

Вопрос:

Пользователи, приветствую!

Я установил flume на свой cloudera 4.6 и пытаюсь получать твиты из Twitter.

Итак, я создал приемник HDFS и приемник HBase, и они собирают твиты… Но данные в HBase плохо структурированы.

Поскольку данные не структурированы, я не могу делать запросы к ним с помощью impala.

Я создал таблицу tweets {NAME => ‘tweet’}, {NAME => ‘retweet’}, {NAME => ‘entities’}, {NAME => ‘user’}

и моя конфигурация flume: http://pastebin.com/4b5d3R8Q

Я следую этому руководству, но я не знаю, что делать с его сериализатором.

https://github.com/AronMacDonald/Twitter_Hbase_Impala Я должен превратить его в банку ?

В настоящее время у меня есть это в Hbase: http://pastebin.com/aNGBsvB7 Все есть в колонке твитов…

Ответ №1:

Я перекомпилировал и использовал flume-sources-1.0-SNAPSHOT.jar из git: https://github.com/cloudera/cdh-twitter-example и поэтому не было никаких проблем при использовании ‘TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource ‘

Установите Maven, затем загрузите репозиторий cdh-twitter-example.

Разархивируйте, затем выполните внутри (как уже упоминалось) :

$ cd flume-исходники

пакет $ mvn

$ cd ..

Эта проблема возникла, когда версия twitter4j обновилась с 2.2.6 до 3.X, они удалили метод setIncludeEntities, и JAR не обновлен.

PS: Не загружайте предварительно созданную версию, она все еще старая.