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