大象教程
首页
Spark
Hadoop
HDFS
MapReduce
Hive
HBase 教程
HBase 教程
HBase 体系结构
HBase 安装
HBase Shell
HBase 通用命令
HBase 管理员 API
HBase 创建表
HBase 列出表
HBase 禁用表
HBase 启用表
HBase 表描述和更改
HBase 验证表是否存在(exist命令)
HBase 删除表
HBase 关闭
HBase 客户端 API
HBase 创建(插入)数据
HBase 更新数据
HBase 读取数据
HBase 删除数据
HBase 扫描(scan)
HBase 计数(count)和截断(truncate)
HBase 安全
#HBase 列出表 ##使用HBase Shell列出表 list是用于列出HBase中所有表的命令。下面给出的是list命令的语法。 ```bash hbase(main):001:0 > list ``` 当您键入此命令并在HBase提示符下执行时,它将显示HBase中所有表的列表,如下所示。 ```bash hbase(main):001:0> list TABLE emp ``` 在这里,您可以观察到一个名为emp的表。 ##使用Java API列出表 请按照下面给出的步骤使用Java API从HBase获取表列表。 ###第1步 在HBaseAdmin类中,有一个名为`listTables()`的方法来获取HBase中所有表的列表。此方法返回HTableDescriptor对象的数组。 ```java // Instantiating configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); // Instantiating HbaseAdmin class Admin admin = null; admin = connection.getAdmin(); //Getting all the list of tables using HBaseAdmin object HTableDescriptor[] tableDescriptor = admin.listTables(); ``` ###第2步 您可以使用HTableDescriptor类的length变量来获取`HTableDescriptor []`数组的长度。使用`getNameAsString()方法从此对象获取表的名称。使用它们运行`for`循环,并获取HBase中的表列表。 下面给出了使用Java API列出HBase中所有表的程序。 ```java import java.io.IOException; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.conf.Configuration; @SuppressWarnings("deprecation") public class CreateTable { public static void main(String[] args) throws IOException { try { // Instantiating configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); // Instantiating HbaseAdmin class Admin admin = null; admin = connection.getAdmin(); // 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()); } } catch (Exception e) { System.out.println(e.getMessage()); } } } ``` 编译并执行上述程序,如下所示。 ```bash $javac ListTables.java $java ListTables ``` 以下应该是输出: ``` emp empfromjava ```
加我微信交流吧