大象教程
首页
Spark
Hadoop
HDFS
MapReduce
Hive
HBase 教程
HBase 教程
HBase 体系结构
HBase 安装
HBase Shell
HBase 通用命令
HBase 管理员 API
HBase 创建表
HBase 列出表
HBase 禁用表
HBase 启用表
HBase 表描述和更改
HBase 验证表是否存在(exist命令)
HBase 删除表
HBase 关闭
HBase 客户端 API
HBase 创建(插入)数据
HBase 更新数据
HBase 读取数据
HBase 删除数据
HBase 扫描(scan)
HBase 计数(count)和截断(truncate)
HBase 安全
#HBase 删除表 ##使用HBase Shell删除表 使用drop命令,可以删除表。删除表之前,必须禁用它。 ```bash 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 ``` 使用exist命令验证表是否存在。 ```bash hbase(main):020:07gt; exists 'emp' Table emp does not exist 0 row(s) in 0.0730 seconds ``` `drop_all`此命令用于删除与命令中给定的`正则表达式`匹配的表。其语法如下: ```bash hbase> drop_all 't.*' ``` 假设有名为raja,rajani,rajendra,rajesh和raju的表。 ```bash hbase(main):017:0> list TABLE raja rajani rajendra rajesh raju 9 row(s) in 0.0270 seconds ``` 所有这些表都以字母raj开头。首先,让我们使用disable_all命令禁用所有这些表,如下所示。 ```bash hbase(main):002:0> disable_all 'raj.*' raja rajani rajendra rajesh raju Disable the above 5 tables (y/n)? y 5 tables successfully disabled ``` 现在,您可以使用drop_all命令删除所有它们,如下所示。 ``` hbase(main):018:0> drop_all 'raj.*' raja rajani rajendra rajesh raju Drop the above 5 tables (y/n)? y 5 tables successfully dropped ``` ##使用Java API删除表 您可以使用HBaseAdmin类中的`deleteTable()`方法删除表。请按照下面给出的步骤使用Java API删除表。 ###第1步 Admin类。 ```java // Instantiating configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); // Instantiating Admin class Admin admin = null; admin = connection.getAdmin(); ``` ###第2步 使用Admin类的`disableTable()`方法禁用该表。 ```java admin.disableTable(tableName.valueOf("emp")); ``` ###第3步 现在,使用Admin类的`deleteTable()`方法删除表。 ```java admin.deleteTable(tableName.valueOf("emp")); ``` 下面给出的是删除HBase中的表的完整Java程序。 ```java import java.io.IOException; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.conf.Configuration; public class DeleteTable { public static void main(String[] args) throws IOException { try { // Instantiating configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); // Instantiating Admin class Admin admin = null; admin = connection.getAdmin(); TableName tableName = TableName.valueOf("emp"); boolean bool = admin.isTableDisabled(tableName); if(!bool) { admin.disableTable(tableName); System.out.println("table disabled"); } admin.deleteTable(tableName); System.out.println("table deleted"); } catch (Exception e) { System.out.println(e.getMessage()); } } } ``` 编译并执行上述程序,如下所示。 ```bash $javac DeleteTable.java $java DeleteTable ``` 以下应该是输出: ``` Table deleted ```
加我微信交流吧