HBase 判断表是否存在

1. 使用HBase Shell的表的存在

您可以使用 exists 命令验证表的 存在 。以下示例显示如何使用此命令。

hbase(main):024:0> exists 'emp'
Table emp does exist

0 row(s) in 0.0750 seconds

==================================================================

hbase(main):015:0> exists 'student'
Table student does not exist

0 row(s) in 0.0480 seconds

2. 使用Java API验证表的存在性

您可以使用 HBaseAdmin 类的 tableExists() 方法验证HBase中是否存在表。按照以下步骤验证HBase中是否存在表。


步骤1

Instantiate the HBaseAdimn class

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

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

第2步

使用 tableExists() 方法验证表的存在。

下面给出的是使用Java API测试HBase表中是否存在表的Java程序。

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 TableExists{

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

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

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

      // Verifying the existance of the table
      boolean bool = admin.tableExists("emp");
      System.out.println( bool);
   }
}

编译并执行上述程序,如下所示。

$javac TableExists.java
$java TableExists

以下应该是输出:

true

下一章:HBase 删除表

 1. 使用HBase Shell删除表使用 drop 命令,可以删除一个表。在放置表之前,您必须禁用它。hbase(main):018:0> disable 'emp'0 row(s) in 1.458 ...