Apache Tajo - Integrazione con HBase
Apache Tajo supporta l'integrazione di HBase. Questo ci consente di accedere alle tabelle HBase in Tajo. HBase è un database distribuito orientato alle colonne costruito sul file system Hadoop. Fa parte dell'ecosistema Hadoop che fornisce accesso in lettura / scrittura casuale in tempo reale ai dati nel file system Hadoop. I seguenti passaggi sono necessari per configurare l'integrazione HBase.
Imposta variabile d'ambiente
Aggiungere le seguenti modifiche al file "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
Dopo aver incluso il percorso HBase, Tajo imposterà il file della libreria HBase sul classpath.
Crea una tabella esterna
Crea una tabella esterna utilizzando la seguente sintassi:
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>/'] ;
Per accedere alle tabelle HBase, è necessario configurare la posizione del tablespace.
Qui,
Table- Imposta il nome della tabella di origine hbase. Se vuoi creare una tabella esterna, la tabella deve esistere su HBase.
Columns- La chiave si riferisce alla chiave della riga HBase. Il numero di colonne immesse deve essere uguale al numero di colonne della tabella Tajo.
hbase.zookeeper.quorum - Imposta l'indirizzo del quorum del guardiano dello zoo.
hbase.zookeeper.property.clientPort - Imposta la porta del client guardiano dello zoo.
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>/';
Qui, il campo Percorso posizione imposta l'id della porta del client guardiano dello zoo. Se non si imposta la porta, Tajo farà riferimento alla proprietà del file hbase-site.xml.
Crea tabella in HBase
È possibile avviare la shell interattiva HBase utilizzando il comando "hbase shell" come mostrato nella seguente query.
Query
/bin/hbase shell
Result
La query precedente genererà il seguente risultato.
hbase(main):001:0>
Passaggi per interrogare HBase
Per interrogare HBase, è necessario completare i seguenti passaggi:
Step 1 - Invia i seguenti comandi alla shell HBase per creare una tabella "tutorial".
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 - Ora, esegui il seguente comando nella shell hbase per caricare i dati in una tabella.
main):001:0> cat ../hbase/hbase-students.txt | bin/hbase shell
Step 3 - Ora torna alla shell Tajo ed esegui il seguente comando per visualizzare i metadati della tabella -
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 - Per recuperare i risultati dalla tabella, utilizza la seguente query:
Query
default> select * from students
Result
La query sopra recupererà il seguente risultato:
rowkey, id, name
-------------------------------
row-01, 001, Adam
row-02, 002, Amit
row-03 003, Bob