HBase - Tabella di quotazione

Elencare una tabella utilizzando HBase Shell

list è il comando utilizzato per elencare tutte le tabelle in HBase. Di seguito è riportata la sintassi del comando list.

hbase(main):001:0 > list

Quando digiti questo comando ed esegui nel prompt di HBase, verrà visualizzato l'elenco di tutte le tabelle in HBase come mostrato di seguito.

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

Qui puoi osservare una tabella chiamata emp.

Elenco delle tabelle utilizzando l'API Java

Seguire i passaggi indicati di seguito per ottenere l'elenco delle tabelle da HBase utilizzando l'API java.

Passo 1

Hai un metodo chiamato listTables() in classe HBaseAdminper ottenere l'elenco di tutte le tabelle in HBase. Questo metodo restituisce un array diHTableDescriptor oggetti.

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

Passo 2

Puoi ottenere la lunghezza del file HTableDescriptor[] array utilizzando la variabile length di HTableDescriptorclasse. Ottieni il nome delle tabelle da questo oggetto utilizzandogetNameAsString()metodo. Esegui il ciclo "for" usando questi e ottieni l'elenco delle tabelle in HBase.

Di seguito è riportato il programma per elencare tutte le tabelle in HBase utilizzando l'API Java.

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

Compilare ed eseguire il programma sopra come mostrato di seguito.

$javac ListTables.java
$java ListTables

Il seguente dovrebbe essere l'output:

User
emp