HBase 列表表
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 获取 HBase 中所有表的列表。该方法返回一个数组 表描述符 objects.
// 创建一个配置对象 Configuration conf = HBaseConfiguration.create(); // 创建 HBaseAdmin 对象 HBaseAdmin admin = new HBaseAdmin(conf); // 使用 HBaseAdmin 对象获取所有表的列表 HTableDescriptor[] tableDescriptor = admin.listTables();
步骤 2
你可以得到长度 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{ // 实例化一个配置类 Configuration conf = HBaseConfiguration.create(); // 实例化 HBaseAdmin 类 HBaseAdmin admin = new HBaseAdmin(conf); // 使用 HBaseAdmin 对象获取所有表的列表 HTableDescriptor[] tableDescriptor = admin.listTables(); // 打印所有表名。 for (int i=0; i<tableDescriptor.length;i++ ){ System.out.println(tableDescriptor[i].getNameAsString()); } } }
编译并执行上述程序,如下图所示。
$javac ListTables.java $java ListTables
以下应该是输出:
User emp