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