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