HBase - Menonaktifkan Tabel

Menonaktifkan Tabel menggunakan HBase Shell

Untuk menghapus tabel atau mengubah pengaturannya, Anda harus menonaktifkan tabel terlebih dahulu menggunakan perintah nonaktifkan. Anda dapat mengaktifkannya kembali menggunakan perintah aktifkan.

Diberikan di bawah ini adalah sintaks untuk menonaktifkan tabel:

disable ‘emp’

Contoh

Diberikan di bawah ini adalah contoh yang menunjukkan cara menonaktifkan tabel.

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

Verifikasi

Setelah menonaktifkan tabel, Anda masih dapat merasakan keberadaannya list dan existsperintah. Anda tidak dapat memindainya. Ini akan memberi Anda kesalahan berikut.

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

is_disabled

Perintah ini digunakan untuk mengetahui apakah tabel dinonaktifkan. Sintaksnya adalah sebagai berikut.

hbase> is_disabled 'table name'

Contoh berikut memverifikasi apakah tabel bernama emp dinonaktifkan. Jika dinonaktifkan, ini akan mengembalikan nilai true dan jika tidak, akan mengembalikan salah.

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

menonaktifkan semua

Perintah ini digunakan untuk menonaktifkan semua tabel yang cocok dengan regex yang diberikan. Sintaks untukdisable_all perintah diberikan di bawah ini.

hbase> disable_all 'r.*'

Misalkan ada 5 tabel di HBase, yaitu raja, rajani, rajendra, rajesh, dan raju. Kode berikut akan menonaktifkan semua tabel yang dimulai denganraj.

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

Nonaktifkan Tabel Menggunakan Java API

Untuk memverifikasi apakah tabel dinonaktifkan, isTableDisabled() metode digunakan dan untuk menonaktifkan tabel, disableTable()metode digunakan. Metode ini termasuk dalamHBaseAdminkelas. Ikuti langkah-langkah yang diberikan di bawah ini untuk menonaktifkan tabel.

Langkah 1

Memberi contoh HBaseAdmin kelas seperti yang ditunjukkan di bawah ini.

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

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

Langkah 2

Verifikasi apakah tabel dinonaktifkan menggunakan isTableDisabled() metode seperti yang ditunjukkan di bawah ini.

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

LANGKAH 3

Jika tabel tidak dinonaktifkan, nonaktifkan seperti yang ditunjukkan di bawah ini.

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

Diberikan di bawah ini adalah program lengkap untuk memverifikasi apakah tabel dinonaktifkan; jika tidak, bagaimana cara menonaktifkannya.

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

Kompilasi dan jalankan program di atas seperti yang ditunjukkan di bawah ini.

$javac DisableTable.java
$java DsiableTable

Outputnya adalah sebagai berikut:

false
Table disabled