Apache Tajo - Tích hợp với HBase

Apache Tajo hỗ trợ tích hợp HBase. Điều này cho phép chúng tôi truy cập các bảng HBase trong Tajo. HBase là một cơ sở dữ liệu hướng cột phân tán được xây dựng trên hệ thống tệp Hadoop. Nó là một phần của hệ sinh thái Hadoop cung cấp quyền truy cập đọc / ghi ngẫu nhiên theo thời gian thực vào dữ liệu trong Hệ thống tệp Hadoop. Các bước sau là bắt buộc để cấu hình tích hợp HBase.

Đặt biến môi trường

Thêm các thay đổi sau vào tệp “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

Sau khi bạn đã bao gồm đường dẫn HBase, Tajo sẽ đặt tệp thư viện HBase thành classpath.

Tạo bảng bên ngoài

Tạo một bảng bên ngoài bằng cú pháp sau:

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

Để truy cập bảng HBase, bạn phải cấu hình vị trí vùng bảng.

Đây,

  • Table- Đặt tên bảng gốc hbase. Nếu bạn muốn tạo một bảng bên ngoài, bảng phải tồn tại trên HBase.

  • Columns- Phím đề cập đến phím hàng HBase. Số lượng mục nhập cột cần phải bằng số cột của bảng Tajo.

  • hbase.zookeeper.quorum - Đặt địa chỉ túc số người giữ vườn thú.

  • hbase.zookeeper.property.clientPort - Đặt cổng khách hàng của người giữ vườn thú.

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

Tại đây, trường Đường dẫn vị trí đặt id cổng ứng dụng của người quản lý vườn thú. Nếu bạn không đặt cổng, Tajo sẽ tham chiếu đến thuộc tính của tệp hbase-site.xml.

Tạo bảng trong HBase

Bạn có thể khởi động trình bao tương tác HBase bằng lệnh “hbase shell” như được hiển thị trong truy vấn sau.

Query

/bin/hbase shell

Result

Truy vấn trên sẽ tạo ra kết quả sau.

hbase(main):001:0>

Các bước truy vấn HBase

Để truy vấn HBase, bạn nên hoàn thành các bước sau:

Step 1 - Đưa các lệnh sau vào vỏ HBase để tạo bảng “hướng dẫn”.

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 - Bây giờ, hãy sử dụng lệnh sau trong hbase shell để tải dữ liệu vào một bảng.

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

Step 3 - Bây giờ, quay lại trình bao Tajo và thực hiện lệnh sau để xem siêu dữ liệu của bảng -

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 - Để tìm nạp kết quả từ bảng, hãy sử dụng truy vấn sau:

Query

default> select * from students

Result

Truy vấn trên sẽ lấy kết quả sau:

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