HBase - Thả bàn

Thả một bảng bằng HBase Shell

Sử dụng droplệnh, bạn có thể xóa một bảng. Trước khi thả một bảng, bạn phải vô hiệu hóa nó.

hbase(main):018:0> disable 'emp'
0 row(s) in 1.4580 seconds

hbase(main):019:0> drop 'emp'
0 row(s) in 0.3060 seconds

Xác minh xem bảng có bị xóa hay không bằng cách sử dụng lệnh tồn tại.

hbase(main):020:07gt; exists 'emp'
Table emp does not exist
0 row(s) in 0.0730 seconds

drop_all

Lệnh này được sử dụng để thả các bảng khớp với “regex” được đưa ra trong lệnh. Cú pháp của nó như sau:

hbase> drop_all ‘t.*’

Note: Trước khi bỏ một bảng, bạn phải vô hiệu hóa nó.

Thí dụ

Giả sử có các bảng có tên raja, rajani, rajendra, rajesh và raju.

hbase(main):017:0> list
TABLE
raja
rajani
rajendra 
rajesh
raju
9 row(s) in 0.0270 seconds

Tất cả các bảng này bắt đầu bằng các chữ cái raj. Trước hết, chúng ta hãy tắt tất cả các bảng này bằng cách sử dụngdisable_all lệnh như hình dưới đây.

hbase(main):002:0> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled

Bây giờ bạn có thể xóa tất cả chúng bằng cách sử dụng drop_all lệnh như dưới đây.

hbase(main):018:0> drop_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Drop the above 5 tables (y/n)?
y
5 tables successfully dropped

Xóa bảng bằng Java API

Bạn có thể xóa một bảng bằng cách sử dụng deleteTable() phương pháp trong HBaseAdminlớp học. Làm theo các bước dưới đây để xóa bảng bằng API java.

Bước 1

Khởi tạo lớp HBaseAdmin.

// creating a configuration object
Configuration conf = HBaseConfiguration.create();

// Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);

Bước 2

Tắt bảng bằng cách sử dụng disableTable() phương pháp của HBaseAdmin lớp học.

admin.disableTable("emp1");

Bước 3

Bây giờ xóa bảng bằng cách sử dụng deleteTable() phương pháp của HBaseAdmin lớp học.

admin.deleteTable("emp12");

Dưới đây là chương trình java hoàn chỉnh để xóa một bảng trong HBase.

import java.io.IOException;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.HBaseAdmin;

public class DeleteTable {

   public static void main(String[] args) throws IOException {

      // Instantiating configuration class
      Configuration conf = HBaseConfiguration.create();

      // Instantiating HBaseAdmin class
      HBaseAdmin admin = new HBaseAdmin(conf);

      // disabling table named emp
      admin.disableTable("emp12");

      // Deleting emp
      admin.deleteTable("emp12");
      System.out.println("Table deleted");
   }
}

Biên dịch và thực hiện chương trình trên như hình dưới đây.

$javac DeleteTable.java
$java DeleteTable

Sau đây là đầu ra:

Table deleted