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
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.
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
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
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.
Instantiate HBaseAdmin Klasse wie unten dargestellt.
// Creating configuration object Configuration conf = HBaseConfiguration.create(); // Creating HBaseAdmin object HBaseAdmin admin = new HBaseAdmin(conf);
Verifizieren ob die Tabelle ist deaktiviert mit Hilfe isTableDisabled () Methode wie unten gezeigt.
Boolean b = admin.isTableDisabled("emp");
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