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