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