HBase - Desactivacin de una Tabla



Para eliminar una tabla o cambiar su configuracin, en primer lugar, es necesario desactivar la tabla utilizando el comando disable. Puede volver a activar, utilizando el comando enable.

A continuacin se muestra la sintaxis para deshabilitar una tabla:

disable emp

A continuacin se ofrece un ejemplo que muestra cmo deshabilitar una tabla.

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

Verificacin

Despus de desactivar la mesa, an se puede sentir su existencia a travs de la lista y exists los comandos. No se puede buscar en ella. Se le dar el siguiente error.

hbase(main):028:0> scan 'emp'

ROW         COLUMN+CELL

ERROR: emp is disabled.

Is_disabled

Este comando se utiliza para determinar si una tabla est deshabilitada. Su sintaxis es la siguiente.

hbase> is_disabled 'table name'

El siguiente ejemplo, se comprueba si la tabla emp est desactivado. Si est desactivada, devolver true y si no, devolver false.

hbase(main):031:0> is_disabled 'emp'

true

0 row(s) in 0.0440 seconds

Disable_all

Este comando se usa para desactivar todas las tablas que ha encontrado la regex. La sintaxis de comandos disable_all es dada a continuacin.

hbase> disable_all 'r.*'

Supongamos que hay 5 mesas en HBase, raja, rajani, rajendra, rajesh y raju. El siguiente cdigo para desactivar todas las tablas a partir de raj.

hbase(main):002:0> disable_all 'raj.*'

raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?

y

5 tables successfully disabled

Desactivar una tabla utilizando la API de Java

Para comprobar si una tabla est deshabilitada, isTableDisabled() se utiliza el mtodo y para desactivar una tabla, disableTable() se usa un mtodo. Estos mtodos pertenecen a la HBaseAdmin clase. Siga los pasos que se indican a continuacin para desactivar una tabla.

Paso 1

Crear una instancia de clase HBaseAdmin como se muestra a continuacin.

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

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

Paso 2

Compruebe si la tabla est deshabilitado utilizando isTableDisabled() mtodo como se muestra a continuacin.

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

Paso 3

Si la tabla no est inhabilitado, desactivar tal y como se muestra a continuacin.

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

A continuacin se incluye el programa completo para comprobar si la tabla est desactivada; si no es as, cmo desactivarlo.

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

   }
}

Compilar y ejecutar el programa como se muestra a continuacin.

$javac DisableTable.java
$java DsiableTable

La siguiente salida debe ser:

false
Table disabled
Advertisements