📅  最后修改于: 2020-11-30 04:15:31             🧑  作者: Mango
list是用于列出HBase中所有表的命令。下面给出的是list命令的语法。
hbase(main):001:0 > list
当您键入此命令并在HBase提示符下执行时,它将显示HBase中所有表的列表,如下所示。
hbase(main):001:0> list
TABLE
emp
在这里,您可以观察到一个名为emp的表。
请按照下面给出的步骤使用Java API从HBase获取表列表。
在HBaseAdmin类中,有一个名为listTables()的方法来获取HBase中所有表的列表。此方法返回HTableDescriptor对象的数组。
//creating a configuration object
Configuration conf = HBaseConfiguration.create();
//Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
//Getting all the list of tables using HBaseAdmin object
HTableDescriptor[] tableDescriptor = admin.listTables();
您可以使用HTableDescriptor类的length变量来获取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
以下应该是输出:
User
emp