HBase - Bật bảng
Kích hoạt Bảng bằng HBase Shell
Cú pháp để kích hoạt một bảng:
enable ‘emp’
Thí dụ
Dưới đây là một ví dụ để kích hoạt một bảng.
hbase(main):005:0> enable 'emp'
0 row(s) in 0.4580 seconds
xác minh
Sau khi bật bảng, hãy quét nó. Nếu bạn có thể nhìn thấy lược đồ, bảng của bạn đã được kích hoạt thành công.
hbase(main):006:0> scan 'emp'
ROW COLUMN + CELL
1 column = personal data:city, timestamp = 1417516501, value = hyderabad
1 column = personal data:name, timestamp = 1417525058, value = ramu
1 column = professional data:designation, timestamp = 1417532601, value = manager
1 column = professional data:salary, timestamp = 1417524244109, value = 50000
2 column = personal data:city, timestamp = 1417524574905, value = chennai
2 column = personal data:name, timestamp = 1417524556125, value = ravi
2 column = professional data:designation, timestamp = 14175292204, value = sr:engg
2 column = professional data:salary, timestamp = 1417524604221, value = 30000
3 column = personal data:city, timestamp = 1417524681780, value = delhi
3 column = personal data:name, timestamp = 1417524672067, value = rajesh
3 column = professional data:designation, timestamp = 14175246987, value = jr:engg
3 column = professional data:salary, timestamp = 1417524702514, value = 25000
3 row(s) in 0.0400 seconds
được kích hoạt
Lệnh này được sử dụng để tìm xem một bảng có được bật hay không. Cú pháp của nó như sau:
hbase> is_enabled 'table name'
Đoạn mã sau xác minh xem bảng có tên empđược kích hoạt. Nếu nó được kích hoạt, nó sẽ trả về true và nếu không, nó sẽ trả về false.
hbase(main):031:0> is_enabled 'emp'
true
0 row(s) in 0.0440 seconds
Bật bảng bằng Java API
Để xác minh xem một bảng có được bật hay không, isTableEnabled()phương pháp được sử dụng; và để kích hoạt một bảng,enableTable()phương pháp được sử dụng. Các phương pháp này thuộc vềHBaseAdminlớp học. Làm theo các bước dưới đây để kích hoạt một bảng.
Bước 1
Khởi tạo HBaseAdmin lớp như hình bên dưới.
// Creating configuration object
Configuration conf = HBaseConfiguration.create();
// Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
Bước 2
Xác minh xem bảng được bật bằng cách sử dụng isTableEnabled() như hình dưới đây.
Boolean bool = admin.isTableEnabled("emp");
Bước 3
Nếu bảng không bị vô hiệu hóa, hãy tắt nó như hình dưới đây.
if(!bool){
admin.enableTable("emp");
System.out.println("Table enabled");
}
Dưới đây là chương trình hoàn chỉnh để xác minh xem bảng đã được kích hoạt hay chưa và nếu chưa, thì làm thế nào để kích hoạt nó.
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
public class EnableTable{
public static void main(String args[]) throws MasterNotRunningException, IOException{
// Instantiating configuration class
Configuration conf = HBaseConfiguration.create();
// Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf);
// Verifying whether the table is disabled
Boolean bool = admin.isTableEnabled("emp");
System.out.println(bool);
// Enabling the table using HBaseAdmin object
if(!bool){
admin.enableTable("emp");
System.out.println("Table Enabled");
}
}
}
Biên dịch và thực hiện chương trình trên như hình dưới đây.
$javac EnableTable.java
$java EnableTable
Sau đây là đầu ra:
false
Table Enabled