Apache Tajo - Integracja z HBase

Apache Tajo obsługuje integrację HBase. To umożliwia nam dostęp do tabel HBase w Tajo. HBase to rozproszona, zorientowana na kolumny baza danych zbudowana na bazie systemu plików Hadoop. Jest częścią ekosystemu Hadoop, który zapewnia losowy dostęp do odczytu / zapisu w czasie rzeczywistym do danych w systemie plików Hadoop. Do skonfigurowania integracji HBase wymagane są następujące kroki.

Ustaw zmienną środowiskową

Dodaj następujące zmiany do pliku „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

Po dołączeniu ścieżki HBase, Tajo ustawi plik biblioteki HBase na ścieżkę klas.

Utwórz tabelę zewnętrzną

Utwórz tabelę zewnętrzną, używając następującej składni -

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>/'] ;

Aby uzyskać dostęp do tabel HBase, należy skonfigurować lokalizację obszaru tabel.

Tutaj,

  • Table- Ustaw nazwę tabeli początkowej hbase. Jeśli chcesz utworzyć tabelę zewnętrzną, musi ona istnieć na serwerze HBase.

  • Columns- Klucz odnosi się do klucza wiersza HBase. Liczba kolumn musi być równa liczbie kolumn tabeli Tajo.

  • hbase.zookeeper.quorum - Ustaw adres kworum opiekunów.

  • hbase.zookeeper.property.clientPort - Ustaw port klienta zookeeper.

Query

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>/';

Tutaj pole Ścieżka lokalizacji ustawia identyfikator portu klienta zookeeper. Jeśli nie ustawisz portu, Tajo odniesie właściwość do pliku hbase-site.xml.

Utwórz tabelę w HBase

Interaktywną powłokę HBase można uruchomić za pomocą polecenia „powłoka hbase”, jak pokazano w poniższym zapytaniu.

Query

/bin/hbase shell

Result

Powyższe zapytanie wygeneruje następujący wynik.

hbase(main):001:0>

Kroki do zapytania HBase

Aby wysłać zapytanie do HBase, wykonaj następujące kroki -

Step 1 - Prześlij następujące polecenia do powłoki HBase, aby utworzyć tabelę „samouczka”.

Query

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'

Step 2 - Teraz wydaj następujące polecenie w powłoce hbase, aby załadować dane do tabeli.

main):001:0> cat ../hbase/hbase-students.txt | bin/hbase shell

Step 3 - Teraz wróć do powłoki Tajo i wykonaj następujące polecenie, aby wyświetlić metadane tabeli -

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

Step 4 - Aby pobrać wyniki z tabeli, użyj następującego zapytania -

Query

default> select * from students

Result

Powyższe zapytanie zwróci następujący wynik -

rowkey,  id,  name 
------------------------------- 
row-01,  001,  Adam 
row-02,  002,  Amit 
row-03   003,  Bob