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