Учебники

HBase — отключение таблицы

Чтобы удалить таблицу или изменить ее настройки, необходимо сначала отключить таблицу с помощью команды отключения. Вы можете включить его, используя команду enable.

Ниже приведен синтаксис для отключения таблицы:

disable ‘emp’

пример

Ниже приведен пример, который показывает, как отключить таблицу.

hbase(main):025:0> disable 'emp'
0 row(s) in 1.2760 seconds

верификация

После отключения таблицы вы все еще можете ощутить ее существование с помощью команд list и существующие . Вы не можете отсканировать это. Это даст вам следующую ошибку.

hbase(main):028:0> scan 'emp'
ROW         COLUMN + CELL
ERROR: emp is disabled.

выключен

Эта команда используется для определения, отключена ли таблица. Его синтаксис выглядит следующим образом.

hbase> is_disabled 'table name'

В следующем примере проверяется, отключена ли таблица с именем emp. Если он отключен, он вернет true, а если нет, то вернет false.

hbase(main):031:0> is_disabled 'emp'
true
0 row(s) in 0.0440 seconds

отключить все

Эта команда используется для отключения всех таблиц, соответствующих данному регулярному выражению. Синтаксис команды disable_all приведен ниже.

hbase> disable_all 'r.*'

Предположим, что в HBase есть 5 таблиц, а именно: раджа, раджани, раджендра, раджеш и раджу. Следующий код отключит все таблицы, начинающиеся с raj.

hbase(main):002:07> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled

Отключить таблицу с помощью Java API

Чтобы проверить, отключена ли таблица, используется метод isTableDisabled (), а для отключения таблицы — метод disableTable () . Эти методы принадлежат классу HBaseAdmin . Следуйте приведенным ниже инструкциям, чтобы отключить таблицу.

Шаг 1

Создайте класс HBaseAdmin, как показано ниже.

// Creating configuration object
Configuration conf = HBaseConfiguration.create();

// Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);

Шаг 2

Убедитесь, что таблица отключена, используя метод isTableDisabled (), как показано ниже.

Boolean b = admin.isTableDisabled("emp");

Шаг 3

Если таблица не отключена, отключите ее, как показано ниже.

if(!b){
   admin.disableTable("emp");
   System.out.println("Table disabled");
}

Ниже приведена полная программа для проверки, отключена ли таблица; если нет, то как это отключить.

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;

public class DisableTable{

   public static void main(String args[]) throws MasterNotRunningException, IOException{

      // Instantiating configuration class
      Configuration conf = HBaseConfiguration.create();
 
      // Instantiating HBaseAdmin class
      HBaseAdmin admin = new HBaseAdmin(conf);

      // Verifying weather the table is disabled
      Boolean bool = admin.isTableDisabled("emp");
      System.out.println(bool);

      // Disabling the table using HBaseAdmin object
      if(!bool){
         admin.disableTable("emp");
         System.out.println("Table disabled");
      }
   }
}

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

$javac DisableTable.java
$java DsiableTable

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