#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: Не загружайте предварительно созданную версию, она все еще старая.