HBase删除表 HBase判断表是否存在 HBase退出 使用HBase Shell删除表 使用 drop 命令,可以删除一个表。在放置表之前,您必须禁用它。 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 验证是否使用exists命令删除表。 hbase(main):020:07gt; exists 'emp' Table emp does not exist 0 row(s) in 0.0730 seconds drop_all 该命令用于删除与命令中给出的“正则表达式”匹配的表。其语法如下: hbase> drop_all ‘t.*’ 注意: 在删除表之前,您必须禁用它。 例 假设有名为raja,rajani,rajendra,rajesh和raju的表格。 hbase(main):017:0> list TABLE raja rajani rajendra rajesh raju 9 row(s) in 0.0270 seconds 所有这些表都以字母 raj 开头。首先,让我们使用 disable_all 命令禁用所有这些表,如下所示。 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 实例化HBaseAdmin类。 // creating a configuration object Configuration conf = HBaseConfiguration.create(); // Creating HBaseAdmin object HBaseAdmin admin = new HBaseAdmin(conf); 第2步 使用 HBaseAdmin 类的 disableTable() 方法禁用表。 ** admin.disableTable("emp1"); 第3步 现在使用 HBaseAdmin 类的 deleteTable() 方法删除表。 ** admin.deleteTable("emp12"); 下面给出了完整的Java程序来删除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"); } } 编译并执行上述程序,如下所示。 $javac DeleteTable.java $java DeleteTable 以下应该是输出: Table deleted HBase判断表是否存在 HBase退出