Учебники

HBase — Листинг Таблица

list — это команда, которая используется для вывода списка всех таблиц в HBase. Ниже приведен синтаксис команды list.

hbase(main):001:0 > list

Когда вы набираете эту команду и выполняете ее в приглашении HBase, она отобразит список всех таблиц в HBase, как показано ниже.

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

Здесь вы можете увидеть таблицу с именем emp.

Список таблиц с использованием Java API

Следуйте приведенным ниже инструкциям, чтобы получить список таблиц из HBase с использованием Java-API.

Шаг 1

У вас есть метод listTables () в классе HBaseAdmin, чтобы получить список всех таблиц в HBase. Этот метод возвращает массив объектов HTableDescriptor .

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

Шаг 2

Вы можете получить длину массива HTableDescriptor [], используя переменную длины класса HTableDescriptor . Получить имя таблицы из этого объекта, используя метод getNameAsString () . Запустите цикл ‘for’, используя их, и получите список таблиц в HBase.

Ниже приведена программа для вывода списка всех таблиц в HBase с использованием 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());
      }
   
   }
}

Скомпилируйте и выполните вышеуказанную программу, как показано ниже.

$javac ListTables.java
$java ListTables

Следующее должно быть выводом: