HBase - 列表

使用HBase Shell列出表

list是用于列出HBase中所有表的命令.下面给出的是list命令的语法.

hbase(main):001:0> list

当您输入此命令并在HBase提示符下执行时,它将显示HBase中所有表的列表,如下所示.

 hbase(main):001:0> list 
 TABLE 
 emp

在这里你可以观察一个名为emp的表.

表使用Java API

按照以下步骤使用java API从HBase获取表列表.

步骤1

您在类 HBaseAdmin 中有一个名为 listTables()的方法,以获取HBase中所有表的列表.此方法返回 HTableDescriptor 对象的数组.

//创建配置对象
配置conf = HBaseConfiguration.create(); 
//创建HBaseAdmin对象
 HBaseAdmin admin = new HBaseAdmin(conf); 
//使用HBaseAdmin对象获取所有表列表
 HTableDescriptor [] tableDescriptor = admin.listTables();

第2步

您可以使用 HTableDescriptor [] 数组获取长度 HTableDescriptor 类的长度变量.使用 getNameAsString()方法从此对象获取表的名称.使用这些循环运行'for'循环并获取HBase中的表列表.

以下是使用Java API列出HBase中所有表的程序.

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;

public class ListTables {

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

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

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

      // Getting all the list of tables using HBaseAdmin object
      HTableDescriptor[] tableDescriptor = admin.listTables();

      // printing all the table names.
      for (int i=0; i<tableDescriptor.length;i++ ){
         System.out.println(tableDescriptor[i].getNameAsString());
      }
   
   }
}

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

$javac ListTables.java
$java ListTables

以下应该是输出:

User
emp