Apache Tajo - Integrasi dengan HBase
Apache Tajo mendukung integrasi HBase. Ini memungkinkan kami untuk mengakses tabel HBase di Tajo. HBase adalah database berorientasi kolom terdistribusi yang dibangun di atas sistem file Hadoop. Ini adalah bagian dari ekosistem Hadoop yang menyediakan akses baca / tulis waktu nyata acak ke data di Sistem File Hadoop. Langkah-langkah berikut diperlukan untuk mengkonfigurasi integrasi HBase.
Tetapkan Variabel Lingkungan
Tambahkan perubahan berikut ke 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
Setelah Anda memasukkan jalur HBase, Tajo akan mengatur file perpustakaan HBase ke jalur kelas.
Buat Tabel Eksternal
Buat tabel eksternal menggunakan sintaks berikut -
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>/'] ;
Untuk mengakses tabel HBase, Anda harus mengkonfigurasi lokasi tablespace.
Sini,
Table- Tetapkan nama tabel asal hbase. Jika ingin membuat tabel eksternal, tabel tersebut harus ada di HBase.
Columns- Key mengacu pada kunci baris HBase. Jumlah entri kolom harus sama dengan jumlah kolom tabel Tajo.
hbase.zookeeper.quorum - Tetapkan alamat kuorum penjaga kebun binatang.
hbase.zookeeper.property.clientPort - Atur port klien penjaga kebun binatang.
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>/';
Di sini, bidang jalur Lokasi menyetel id port klien penjaga kebun binatang. Jika Anda tidak menyetel porta, Tajo akan merujuk properti file hbase-site.xml.
Buat Tabel di HBase
Anda dapat memulai shell interaktif HBase menggunakan perintah "hbase shell" seperti yang ditunjukkan pada kueri berikut.
Query
/bin/hbase shell
Result
Kueri di atas akan menghasilkan hasil sebagai berikut.
hbase(main):001:0>
Langkah-langkah untuk Menanyakan HBase
Untuk menanyakan HBase, Anda harus menyelesaikan langkah-langkah berikut -
Step 1 - Pipa perintah berikut ke shell HBase untuk membuat tabel "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 - Sekarang, jalankan perintah berikut di shell hbase untuk memuat data ke dalam tabel.
main):001:0> cat ../hbase/hbase-students.txt | bin/hbase shell
Step 3 - Sekarang, kembali ke shell Tajo dan jalankan perintah berikut untuk melihat metadata tabel -
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 - Untuk mengambil hasil dari tabel, gunakan query berikut -
Query
default> select * from students
Result
Kueri di atas akan mengambil hasil berikut -
rowkey, id, name
-------------------------------
row-01, 001, Adam
row-02, 002, Amit
row-03 003, Bob