HBase - Listeleme Tablosu

HBase Shell kullanarak Tablo Listeleme

list, HBase'deki tüm tabloları listelemek için kullanılan komuttur. List komutunun sözdizimi aşağıda verilmiştir.

hbase(main):001:0 > list

Bu komutu yazıp HBase komut isteminde çalıştırdığınızda, aşağıda gösterildiği gibi HBase'deki tüm tabloların listesini gösterecektir.

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

Burada emp adlı bir tabloyu görebilirsiniz.

Java API Kullanan Liste Tabloları

Java API kullanarak HBase'den tabloların listesini almak için aşağıda verilen adımları izleyin.

Aşama 1

Adlı bir yönteminiz var listTables() sınıfta HBaseAdminHBase'deki tüm tabloların listesini almak için. Bu yöntem bir dizi döndürürHTableDescriptor nesneler.

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

Adım 2

Uzunluğunu alabilirsiniz HTableDescriptor[] uzunluk değişkenini kullanan dizi HTableDescriptorsınıf. Kullanarak bu nesneden tabloların adını alıngetNameAsString()yöntem. Bunları kullanarak 'for' döngüsünü çalıştırın ve HBase'deki tabloların listesini alın.

Aşağıda, Java API kullanarak HBase'deki tüm tabloları listeleyen program verilmiştir.

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

Yukarıdaki programı aşağıda gösterildiği gibi derleyin ve çalıştırın.

$javac ListTables.java
$java ListTables

Aşağıdakiler çıktı olmalıdır:

User
emp