HBase - tabela listowa

Wyświetlanie tabeli przy użyciu powłoki HBase

list to polecenie używane do wyświetlania listy wszystkich tabel w HBase. Poniżej podano składnię polecenia list.

hbase(main):001:0 > list

Po wpisaniu tego polecenia i wykonaniu w zachęcie HBase wyświetli się lista wszystkich tabel w HBase, jak pokazano poniżej.

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

Tutaj możesz obserwować tabelę o nazwie emp.

Listing Tables przy użyciu Java API

Postępuj zgodnie z instrukcjami podanymi poniżej, aby pobrać listę tabel z HBase przy użyciu interfejsu API języka Java.

Krok 1

Masz metodę o nazwie listTables() w klasie HBaseAdminaby uzyskać listę wszystkich tabel w HBase. Ta metoda zwraca tablicęHTableDescriptor obiekty.

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

Krok 2

Możesz uzyskać długość pliku HTableDescriptor[] tablicy przy użyciu zmiennej długości pliku HTableDescriptorklasa. Uzyskaj nazwę tabel z tego obiektu za pomocągetNameAsString()metoda. Uruchom pętlę „for” przy użyciu tych elementów i pobierz listę tabel w HBase.

Poniżej podano program do wyświetlania listy wszystkich tabel w HBase przy użyciu 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());
      }
   
   }
}

Skompiluj i wykonaj powyższy program, jak pokazano poniżej.

$javac ListTables.java
$java ListTables

Wynik powinien być następujący:

User
emp