HBase - Deaktivieren einer Tabelle


Advertisements

Zu löschen Um eine Tabelle oder seine Einstellungen zu ändern, müssen Sie die Tabelle mit Hilfe dem Befehl Deaktivieren.Sie können wieder aktivieren es mit Hilfe dem Befehl enable ein.

Da unten ist die Syntax, um eine Tabelle zu deaktivieren:

disable ‘emp’

Da unten ist ein Beispiel, dass zeigt wie zu deaktivieren eine Tabelle.

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

Verifizierung

Nach dem Deaktivieren der Tabelle, können Sie immer Sinn seine Existenz durch Liste und existiert Befehle. Man kann nicht scannen es. Es wird Ihnen die folgende Fehler.

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

ROW         COLUMN+CELL

ERROR: emp is disabled.

is_disabled

Dieser Befehl wird verwendet, um zu finden, ob eine Tabelle ist deaktiviert. Es ist Syntax ist wie folgt.

hbase> is_disabled 'table name'

Im folgenden Beispiel wird verifiziert, ob die Tabelle Namen emp ist deaktiviert. Wenn es deaktiviert ist, wird es true zurück, und wenn nicht, wird es false zurück.

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

true

0 row(s) in 0.0440 seconds

disable_all

Dieser Befehl wird verwendet, um alle Tabellen passenden die dem gegebenen regex deaktivieren. Die Syntax für disable_all Befehl ist unten angegeben.

hbase> disable_all 'r.*'

Nehmen wir an, es gibt 5 Tabellen in HBase, nämlich Raja, Rajani, rajendra, rajesh und raju. Der folgende Code wird deaktiviert alle Tische start mit 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

Deaktivieren einer Tabelle mit Hilfe Java API

Um zu verifizieren, ob eine Tabelle deaktiviert ist, isTableDisabled () Methode verwendet wird und zu deaktivieren einen Tisch, disableTable () Methode verwendet wird. Diese Methoden gehören zu den HBaseAdmin Klasse. Befolgen Sie die unten angegebenen Schritte, um eine Tabelle zu deaktivieren.

Schritt 1

Instantiate HBaseAdmin Klasse wie unten dargestellt.

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

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

Schritt 2

Verifizieren ob die Tabelle ist deaktiviert mit Hilfe isTableDisabled () Methode wie unten gezeigt.

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

Schritt 3

Wenn die Tabelle nicht deaktiviert ist, deaktivieren Sie es wie unten gezeigt.

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

Da unten ist das vollständige Programm, um zu verifizieren, ob die Tabelle ist deaktiviert; wenn nicht, wie um sie zu deaktivieren.

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

   }
}

Kompilieren Sie und führen Sie das obige Programm wie unten gezeigt.

$javac DisableTable.java
$java DsiableTable

Folgendes sollte Ausgang werden:

false
Table disabled
Advertisements