HBase - Perbarui Data
Memperbarui Data menggunakan HBase Shell
Anda dapat memperbarui nilai sel yang sudah ada menggunakan putperintah. Untuk melakukannya, cukup ikuti sintaks yang sama dan sebutkan nilai baru Anda seperti yang ditunjukkan di bawah ini.
put ‘table name’,’row ’,'Column family:column name',’new value’
Nilai yang baru diberikan menggantikan nilai yang sudah ada, memperbarui baris.
Contoh
Misalkan ada tabel di HBase yang disebut emp dengan data berikut.
hbase(main):003:0> scan 'emp'
ROW COLUMN + CELL
row1 column = personal:name, timestamp = 1418051555, value = raju
row1 column = personal:city, timestamp = 1418275907, value = Hyderabad
row1 column = professional:designation, timestamp = 14180555,value = manager
row1 column = professional:salary, timestamp = 1418035791555,value = 50000
1 row(s) in 0.0100 seconds
Perintah berikut akan memperbarui nilai kota dari karyawan yang bernama 'Raju' ke Delhi.
hbase(main):002:0> put 'emp','row1','personal:city','Delhi'
0 row(s) in 0.0400 seconds
Tabel yang diperbarui terlihat sebagai berikut di mana Anda dapat mengamati kota Raju telah diubah menjadi 'Delhi'.
hbase(main):003:0> scan 'emp'
ROW COLUMN + CELL
row1 column = personal:name, timestamp = 1418035791555, value = raju
row1 column = personal:city, timestamp = 1418274645907, value = Delhi
row1 column = professional:designation, timestamp = 141857555,value = manager
row1 column = professional:salary, timestamp = 1418039555, value = 50000
1 row(s) in 0.0100 seconds
Memperbarui Data Menggunakan Java API
Anda dapat memperbarui data di sel tertentu menggunakan put()metode. Ikuti langkah-langkah yang diberikan di bawah ini untuk memperbarui nilai sel tabel yang sudah ada.
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 Put
Untuk memasukkan data ke dalam Tabel HBase, file add()metode dan variannya digunakan. Metode ini milikPut, oleh karena itu buat instance putkelas. Kelas ini membutuhkan nama baris yang ingin Anda masukkan datanya, dalam format string. Anda dapat membuat instancePut kelas seperti yang ditunjukkan di bawah ini.
Put p = new Put(Bytes.toBytes("row1"));
Langkah 4: Perbarui Sel yang Ada
Itu add() metode dari Putkelas digunakan untuk memasukkan data. Ini membutuhkan 3 array byte yang mewakili keluarga kolom, kualifikasi kolom (nama kolom), dan nilai yang akan disisipkan. Masukkan data ke dalam tabel HBase menggunakanadd() metode seperti yang ditunjukkan di bawah ini.
p.add(Bytes.toBytes("coloumn family "), Bytes.toBytes("column
name"),Bytes.toBytes("value"));
p.add(Bytes.toBytes("personal"),
Bytes.toBytes("city"),Bytes.toBytes("Delih"));
Langkah 5: Simpan Data dalam Tabel
Setelah memasukkan baris yang diperlukan, simpan perubahan dengan menambahkan contoh put ke put() metode kelas HTable seperti yang ditunjukkan di bawah ini.
hTable.put(p);
Langkah 6: Tutup Instance HTable
Setelah membuat data dalam Tabel HBase, tutup file HTable Misalnya menggunakan metode close () seperti yang ditunjukkan di bawah ini.
hTable.close();
Diberikan di bawah ini adalah program lengkap untuk memperbarui data dalam tabel tertentu.
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
public class UpdateData{
public static void main(String[] args) throws IOException {
// Instantiating Configuration class
Configuration config = HBaseConfiguration.create();
// Instantiating HTable class
HTable hTable = new HTable(config, "emp");
// Instantiating Put class
//accepts a row name
Put p = new Put(Bytes.toBytes("row1"));
// Updating a cell value
p.add(Bytes.toBytes("personal"),
Bytes.toBytes("city"),Bytes.toBytes("Delih"));
// Saving the put Instance to the HTable.
hTable.put(p);
System.out.println("data Updated");
// closing HTable
hTable.close();
}
}
Kompilasi dan jalankan program di atas seperti yang ditunjukkan di bawah ini.
$javac UpdateData.java $java UpdateData
Outputnya adalah sebagai berikut:
data Updated