#twitter #hbase #flume #impala #flume-ng
#Twitter #hbase #поток #impala #flume-ng
Вопрос:
Со вчерашнего дня я пытаюсь выяснить, почему мое создание таблицы не работает. Поскольку я не могу связать свою Impala с моей Hbase, я не могу делать запросы в своем потоке Twitter :/
Нужен ли мне специальный JAR, такой как Hive, для свойств SerDe?
Вот моя команда:
СОЗДАЙТЕ ВНЕШНЮЮ ТАБЛИЦУ HB_IMPALA_TWEETS ( идентификатор int, строка id_str, текстовая строка, временная метка created_at, двойная широта гео, двойная длина гео, строка user_screen_name, строка user_location, строка user_followers_count, строка user_profile_image_url)
, ХРАНЯЩУЮСЯ В ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
С SERDEPROPERTIES ( «hbase.columns.mapping» = «:ключ, твит: id_str, твит:текст, твит:created_at, твит: гео_широта, твит: гео_длинность, пользователь: имя_экрана_,пользователь: местоположение, пользователь: количество подписчиков, пользователь:profile_image_url» ) TBLPROPERTIES(«hbase.table.name » = «твиты»);
Но я получил сообщение об ошибке: strored by:
Запрос: создайте ВНЕШНЮЮ ТАБЛИЦУ HB_IMPALA_TWEETS ( идентификатор int, строка id_str, текстовая строка, временная метка created_at, двойная широта гео, двойная длина гео, строка user_screen_name, строка user_location, строка user_followers_count, строка user_profile_image_url), ХРАНЯЩУЮСЯ В ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ С SERDEPROPERTIES ( «hbase.columns.mapping» = «:ключ, твит: id_str, твит:текст, твит:created_at, твит: гео_широта, твит: гео_длинность, пользователь: имя_экрана_,пользователь: местоположение, пользователь: followers_count, пользователь:profile_image_url» ) TBLPROPERTIES(«hbase.table.name» = «tweets») ОШИБКА: исключение AnalysisException: Синтаксическая ошибка в строке 1: … строка image_url ), СОХРАНЕННАЯ ‘org.apache.hadoop.hive.h…
Обнаружено: ПО
Ожидается: КАК
ВЫЗВАНО: Исключение: Синтаксическая ошибка
Для получения дополнительной информации я перешел на эту страницу: https://github.com/AronMacDonald/Twitter_Hbase_Impala/blob/master/README.md
Спасибо, что помогли мне 🙂
Ответ №1:
Ну, похоже, что Impala все еще не поддерживает SerDe (сериализацию / десериализацию).
«Вы создаете таблицы на стороне Impala, используя оболочку Hive, потому что оператор Impala CREATE TABLE в настоящее время не поддерживает пользовательские SERDES и некоторый другой синтаксис, необходимый для этих таблиц: вы обозначаете его как таблицу HBase, используя СОХРАНЕННУЮ ‘org.apache.hadoop.hive.hbase.Предложение HBaseStorageHandler’ в инструкции Hive CREATE TABLE.»
Итак, просто запустите команду в оболочке hive или hue hive, затем в impala введите «аннулировать метаданные», и тогда вы сможете увидеть свою таблицу с помощью «показать таблицы».
Итак, в этой части проблема кажется решаемой.