Учебники

Apache Tajo – интеграция с HBase

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

Результат

Приведенный выше запрос приведет к следующему результату –