HBase - Auflistungstabelle

Auflisten einer Tabelle mit HBase Shell

list ist der Befehl, mit dem alle Tabellen in HBase aufgelistet werden. Unten ist die Syntax des Befehls list angegeben.

hbase(main):001:0 > list

Wenn Sie diesen Befehl eingeben und in der HBase-Eingabeaufforderung ausführen, wird die Liste aller Tabellen in HBase angezeigt (siehe unten).

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

Hier können Sie eine Tabelle mit dem Namen emp beobachten.

Auflisten von Tabellen mit der Java-API

Führen Sie die folgenden Schritte aus, um die Liste der Tabellen von HBase mithilfe der Java-API abzurufen.

Schritt 1

Sie haben eine Methode namens listTables() in der Klasse HBaseAdminum die Liste aller Tabellen in HBase zu erhalten. Diese Methode gibt ein Array von zurückHTableDescriptor Objekte.

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

Schritt 2

Sie können die Länge der erhalten HTableDescriptor[] Array mit der Längenvariablen der HTableDescriptorKlasse. Rufen Sie den Namen der Tabellen von diesem Objekt mit abgetNameAsString()Methode. Führen Sie die 'for'-Schleife mit diesen aus und rufen Sie die Liste der Tabellen in HBase ab.

Im Folgenden finden Sie das Programm zum Auflisten aller Tabellen in HBase mithilfe der Java-API.

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

Kompilieren Sie das obige Programm und führen Sie es wie unten gezeigt aus.

$javac ListTables.java
$java ListTables

Folgendes sollte die Ausgabe sein:

User
emp