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