Apache Tajo поддерживает интеграцию HBase. Это позволяет нам получить доступ к таблицам HBase в Tajo. HBase — это распределенная столбцово-ориентированная база данных, построенная на основе файловой системы Hadoop. Он является частью экосистемы Hadoop, которая обеспечивает случайный доступ в режиме реального времени для чтения / записи данных в файловой системе Hadoop. Следующие шаги необходимы для настройки интеграции HBase.
Задать переменную среды
Добавьте следующие изменения в файл «conf / tajo-env.sh».
$ vi conf/tajo-env.sh # HBase home directory. It is opitional but is required mandatorily to use HBase. # export HBASE_HOME = path/to/HBase
После того, как вы включили путь HBase, Tajo установит для файла библиотеки HBase путь к классу.
Создать внешнюю таблицу
Создайте внешнюю таблицу, используя следующий синтаксис —
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> [(<column_name> <data_type>, ... )] USING hbase WITH ('table' = '<hbase_table_name>' , 'columns' = ':key,<column_family_name>:<qualifier_name>, ...' , 'hbase.zookeeper.quorum' = '<zookeeper_address>' , 'hbase.zookeeper.property.clientPort' = '<zookeeper_client_port>') [LOCATION 'hbase:zk://<hostname>:<port>/'] ;
Для доступа к таблицам HBase необходимо настроить расположение табличного пространства.
Вот,
-
Таблица — Установить имя таблицы источника hbase. Если вы хотите создать внешнюю таблицу, эта таблица должна существовать в HBase.
-
Столбцы — Ключ относится к ключу строки HBase. Количество записей в столбцах должно быть равно количеству столбцов таблицы Tajo.
-
hbase.zookeeper.quorum — устанавливает адрес кворума zookeeper.
-
hbase.zookeeper.property.clientPort — устанавливает клиентский порт zookeeper.
Таблица — Установить имя таблицы источника hbase. Если вы хотите создать внешнюю таблицу, эта таблица должна существовать в HBase.
Столбцы — Ключ относится к ключу строки HBase. Количество записей в столбцах должно быть равно количеству столбцов таблицы Tajo.
hbase.zookeeper.quorum — устанавливает адрес кворума zookeeper.
hbase.zookeeper.property.clientPort — устанавливает клиентский порт zookeeper.
запрос
CREATE EXTERNAL TABLE students (rowkey text,id int,name text) USING hbase WITH ('table' = 'students', 'columns' = ':key,info:id,content:name') LOCATION 'hbase:zk://<hostname>:<port>/';
Здесь поле «Путь к местоположению» устанавливает идентификатор порта клиента zookeeper. Если вы не установите порт, Tajo будет ссылаться на свойство файла hbase-site.xml.
Создать таблицу в HBase
Вы можете запустить интерактивную оболочку HBase с помощью команды «hbase shell», как показано в следующем запросе.
запрос
/bin/hbase shell
Результат
Приведенный выше запрос приведет к следующему результату.
hbase(main):001:0>
Шаги для запроса HBase
Чтобы запросить HBase, вы должны выполнить следующие шаги —
Шаг 1 — Передайте следующие команды в оболочку HBase, чтобы создать «учебную» таблицу.
запрос
hbase(main):001:0> create ‘students’,{NAME => ’info’},{NAME => ’content’} put 'students', ‘row-01', 'content:name', 'Adam' put 'students', ‘row-01', 'info:id', '001' put 'students', ‘row-02', 'content:name', 'Amit' put 'students', ‘row-02', 'info:id', '002' put 'students', ‘row-03', 'content:name', 'Bob' put 'students', ‘row-03', 'info:id', ‘003'
Шаг 2 — Теперь введите следующую команду в оболочке hbase, чтобы загрузить данные в таблицу.
main):001:0> cat ../hbase/hbase-students.txt | bin/hbase shell
Шаг 3 — Теперь вернитесь в оболочку Tajo и выполните следующую команду, чтобы просмотреть метаданные таблицы.
default> \d students; table name: default.students table path: store type: HBASE number of rows: unknown volume: 0 B Options: 'columns' = ':key,info:id,content:name' 'table' = 'students' schema: rowkey TEXT id INT4 name TEXT
Шаг 4 — Чтобы получить результаты из таблицы, используйте следующий запрос —
запрос
default> select * from students
Результат
Приведенный выше запрос приведет к следующему результату —