Чтобы удалить таблицу или изменить ее настройки, необходимо сначала отключить таблицу с помощью команды отключения. Вы можете включить его, используя команду 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
Следующее должно быть выводом: