Impala создает внешнюю таблицу, хранящуюся в улье

#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 введите «аннулировать метаданные», и тогда вы сможете увидеть свою таблицу с помощью «показать таблицы».

Итак, в этой части проблема кажется решаемой.