Using the drop command, you can delete a table. Before dropping a table, you have to disable it.
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
Verify whether the table is deleted using the exists command.
hbase(main):020:07gt; exists 'emp' Table emp does not exist 0 row(s) in 0.0730 seconds
This command is used to drop the tables matching the “regex” given in the command. Its syntax is as follows:
hbase> drop_all ‘t.*’
Note: Before dropping a table, you must disable it.
Assume there are tables named raja, rajani, rajendra, rajesh, and raju.
hbase(main):017:0> list TABLE raja rajani rajendra rajesh raju 9 row(s) in 0.0270 seconds
All these tables start with the letters raj. First of all, let us disable all these tables using the disable_all command as shown below.
hbase(main):002:0> disable_all 'raj.*' raja rajani rajendra rajesh raju Disable the above 5 tables (y/n)? y 5 tables successfully disabled
Now you can delete all of them using the drop_all command as given below.
hbase(main):018:0> drop_all 'raj.*' raja rajani rajendra rajesh raju Drop the above 5 tables (y/n)? y 5 tables successfully dropped
You can delete a table using the deleteTable() method in the HBaseAdmin class. Follow the steps given below to delete a table using java API.
Instantiate the HBaseAdmin class.
// creating a configuration object Configuration conf = HBaseConfiguration.create(); // Creating HBaseAdmin object HBaseAdmin admin = new HBaseAdmin(conf);
Disable the table using the disableTable() method of the HBaseAdmin class.
admin.disableTable("emp1");
Now delete the table using the deleteTable() method of the HBaseAdmin class.
admin.deleteTable("emp12");
Given below is the complete java program to delete a table in 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"); } }
Compile and execute the above program as shown below.
$javac DeleteTable.java $java DeleteTable
The following should be the output:
Table deleted