HBase - Hapus Data

Menghapus Sel Tertentu dalam Tabel

Menggunakan deleteperintah, Anda dapat menghapus sel tertentu dalam tabel. Sintaks daridelete perintahnya adalah sebagai berikut:

delete ‘<table name>’, ‘<row>’, ‘<column name >’, ‘<time stamp>’

Contoh

Berikut adalah contoh untuk menghapus sel tertentu. Di sini kami menghapus gaji.

hbase(main):006:0> delete 'emp', '1', 'personal data:city',
1417521848375
0 row(s) in 0.0060 seconds

Menghapus Semua Sel dalam Tabel

Dengan menggunakan perintah "deleteall", Anda dapat menghapus semua sel dalam satu baris. Diberikan di bawah ini adalah sintaks dari perintah deleteall.

deleteall ‘<table name>’, ‘<row>’,

Contoh

Berikut adalah contoh perintah "deleteall", di mana kita menghapus semua sel dari baris1 tabel emp.

hbase(main):007:0> deleteall 'emp','1'
0 row(s) in 0.0240 seconds

Verifikasi tabel menggunakan scanperintah. Cuplikan tabel setelah menghapus tabel diberikan di bawah ini.

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

ROW                  COLUMN + CELL

2 column = personal data:city, timestamp = 1417524574905, value = chennai 

2 column = personal data:name, timestamp = 1417524556125, value = ravi

2 column = professional data:designation, timestamp = 1417524204, value = sr:engg

2 column = professional data:salary, timestamp = 1417524604221, value = 30000

3 column = personal data:city, timestamp = 1417524681780, value = delhi

3 column = personal data:name, timestamp = 1417524672067, value = rajesh
 
3 column = professional data:designation, timestamp = 1417523187, value = jr:engg

3 column = professional data:salary, timestamp = 1417524702514, value = 25000

Menghapus Data Menggunakan Java API

Anda dapat menghapus data dari tabel HBase menggunakan delete() metode dari HTablekelas. Ikuti langkah-langkah yang diberikan di bawah ini untuk menghapus data dari tabel.

Langkah 1: Buat instance Kelas Konfigurasi

Configurationkelas menambahkan file konfigurasi HBase ke objeknya. Anda dapat membuat objek konfigurasi menggunakancreate() metode dari HbaseConfiguration kelas seperti yang ditunjukkan di bawah ini.

Configuration conf = HbaseConfiguration.create();

Langkah 2: Buat instance Kelas HTable

Anda memiliki kelas yang disebut HTable, implementasi Tabel di HBase. Kelas ini digunakan untuk berkomunikasi dengan tabel HBase tunggal. Saat membuat instance kelas ini, ia menerima objek konfigurasi dan nama tabel sebagai parameter. Anda dapat membuat instance kelas HTable seperti yang ditunjukkan di bawah ini.

HTable hTable = new HTable(conf, tableName);

Langkah 3: Buat Instansiasi Kelas Hapus

Instantiate Deletekelas dengan melewatkan rowid dari baris yang akan dihapus, dalam format array byte. Anda juga dapat meneruskan stempel waktu dan Rowlock ke konstruktor ini.

Delete delete = new Delete(toBytes("row1"));

Langkah 4: Pilih Data yang Akan Dihapus

Anda dapat menghapus data menggunakan metode delete dari Deletekelas. Kelas ini memiliki berbagai metode penghapusan. Pilih kolom atau kelompok kolom yang akan dihapus menggunakan metode tersebut. Lihatlah contoh berikut yang menunjukkan penggunaan metode kelas Hapus.

delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
delete.deleteFamily(Bytes.toBytes("professional"));

Langkah 5: Hapus Data

Hapus data yang dipilih dengan meneruskan delete misalnya ke delete() metode dari HTable kelas seperti yang ditunjukkan di bawah ini.

table.delete(delete);

Langkah 6: Tutup HTableInstance

Setelah menghapus data, tutup file HTable Contoh.

table.close();

Diberikan di bawah ini adalah program lengkap untuk menghapus data dari tabel HBase.

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;

public class DeleteData {

   public static void main(String[] args) throws IOException {

      // Instantiating Configuration class
      Configuration conf = HBaseConfiguration.create();

      // Instantiating HTable class
      HTable table = new HTable(conf, "employee");

      // Instantiating Delete class
      Delete delete = new Delete(Bytes.toBytes("row1"));
      delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
      delete.deleteFamily(Bytes.toBytes("professional"));

      // deleting the data
      table.delete(delete);

      // closing the HTable object
      table.close();
      System.out.println("data deleted.....");
   }
}

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

$javac Deletedata.java
$java DeleteData

Outputnya adalah sebagai berikut:

data deleted