鍍金池/ 教程/ 大數(shù)據(jù)/ HBase列出表
HBase禁用表
HBase創(chuàng)建表
HBase客戶端API
HBase安裝
HBase表描述和修改
HBase Admin API
HBase掃描
HBase創(chuàng)建數(shù)據(jù)
HBase列出表
HBase刪除數(shù)據(jù)
HBase讀取數(shù)據(jù)
HBase常用命令
HBase更新數(shù)據(jù)
HBase關(guān)閉
HBase架構(gòu)
HBase Shell
HBase Exists
HBase安全
HBase教程
HBase啟用表
HBase計(jì)數(shù)和截?cái)?/span>
HBase刪除表

HBase列出表

list 是用來(lái)列出HBase中所有表的命令。下面給出了 list 命令的語(yǔ)法。

hbase(main):001:0 > list

當(dāng)輸入這個(gè)命令,并在HBase提示符下執(zhí)行,它會(huì)顯示HBase中的所有表的列表,如下圖所示。

hbase(main):001:0> list
TABLE
emp

在這里,可以看到一個(gè)名為表emp。

使用Java API列出表

按照下面給出的步驟來(lái)使用Java API從HBase獲得表的列表。

第1步

在類HBaseAdmin中有一個(gè)方法叫 listTables(),列出HBase中所有的表的列表。這個(gè)方法返回HTableDescriptor對(duì)象的數(shù)組。

//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();

第1步

就可以得到使用HTableDescriptor類長(zhǎng)度可變的HTableDescriptor[]數(shù)組的長(zhǎng)度。從該對(duì)象使用getNameAsString()方法獲得表的名稱。運(yùn)行'for'循環(huán)而獲得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<tableDescriptor.length;i++ ){
      System.out.println(tableDescriptor[i].getNameAsString());
   }
   
   }
 }

編譯和執(zhí)行上述程序如下所示。

$javac ListTables.java
$java ListTables

下面列出的是輸出:

User
emp