使用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编译并执行上述程序,如下所示.
$javac ListTables.java$java ListTables以下应该是输出:
Useremp