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