Contoh Kueri HBase: perintah put(), get(), scan() di HBase

Tulis Data ke Tabel HBase: Shell

Perintah put digunakan untuk menyimpan data ke dalam tabel

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

Perintah ini digunakan untuk hal-hal berikut

  • Ini akan menempatkan 'nilai' sel pada tabel atau baris atau kolom yang ditentukan atau ditentukan.
  • Ini secara opsional akan mengoordinasikan cap waktu.

Contoh:

  • Di sini kita menempatkan nilai ke dalam tabel “guru99” di bawah baris r1 dan kolom c1
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • Kami telah menempatkan tiga nilai, 10,15 dan 30 di tabel “guru99” seperti yang ditunjukkan pada gambar di bawah

Tulis Data ke Tabel HBase: Shell

  • Misalkan tabel “Guru99” memiliki beberapa referensi tabel seperti misalnya g. Kita juga bisa menjalankan perintah pada referensi tabel juga seperti
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Outputnya akan seperti yang ditunjukkan pada gambar di atas setelah menempatkan nilai ke dalam “guru99”.

Baca Data dari Tabel HBase: Shell

Pada bagian ini, kita akan memeriksa hal-hal berikut

  • Nilai yang dimasukkan ke dalam tabel HBase “guru99”
  • Nama kolom dengan nilai ada di Tabel HBase guru99

Baca Data dari Tabel HBase: Shell

Dari tangkapan layar di atas, kita dapat menyimpulkan

  • Jika kita menjalankan perintah “scan” di shell HBase maka akan muncul nilai yang disisipkan di “guru99” sebagai berikut
  • Di shell HBase, ini akan menampilkan nilai yang disisipkan oleh kode kita dengan nama kolom dan baris
  • Di sini kita dapat melihat nama kolom yang disisipkan adalah “pendidikan” dan “proyek”
  • Nilai yang dimasukkan adalah “BigData” dan “Tutorial HBase” ke dalam kolom yang disebutkan

Anda juga dapat menggunakan perintah Dapatkan untuk membaca data dari tabel

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

Di Sini termasuk TIMERANGE, TIMESTAMP, VERSI dan FILTER.

Dengan menggunakan perintah ini, Anda akan mendapatkan konten baris atau sel yang ada di tabel. Selain itu Anda juga dapat menambahkan parameter tambahan seperti TIMESTAMP, TIMERANGE,VERSIONS, FILTER, dll. untuk mendapatkan konten baris atau sel tertentu.

Baca Data dari Tabel HBase: Shell

Contoh:-

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

Untuk tabel “guru99′ nilai baris r1 dan kolom c1 akan ditampilkan menggunakan perintah ini seperti yang ditunjukkan pada gambar di atas

hbase> get 'guru99', 'r1'

Untuk tabel “guru99” nilai baris r1 akan ditampilkan menggunakan perintah ini

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

Untuk tabel “guru99” nilai baris 1 dalam rentang waktu ts1 dan ts2 akan ditampilkan menggunakan perintah ini

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

Untuk tabel “guru99” baris r1 dan kolom keluarga c1, c2, c3 akan ditampilkan menggunakan perintah ini

Tulis Data ke Tabel HBase: JAVA API

Pada langkah ini, kita akan menulis data ke dalam tabel HBase “guru99”

Pertama, kita harus menulis kode untuk memasukkan dan mengambil nilai dari HBase dengan menggunakan-program HBaseLoading.java.

Untuk membuat dan memasukkan nilai ke dalam tabel di tingkat kolom, Anda harus membuat kode seperti di bawah ini.

Tulis Data ke Tabel HBase: JAVA API

Dari tangkapan layar di atas

  1. Saat kita membuat konfigurasi HBase, ini akan menunjuk ke konfigurasi apa pun yang kita atur di file base-site.xml dan hbase-default.xml selama Instalasi HBase
  2. Pembuatan tabel “guru99” menggunakan metode HTable
  3. Menambahkan baris1 ke tabel “guru99”
  4. Menentukan nama kolom "pendidikan" dan "proyek" dan memasukkan nilai ke dalam nama kolom di baris1 masing-masing. Nilai yang disisipkan di sini adalah “BigData” dan “HBaseTutorials”.

Baca Data dari Tabel HBase: Java API

Apapun nilai yang kita tempatkan di tabel HBase pada bagian di atas, di sini kita akan mengambil dan menampilkan nilai tersebut.

Untuk mengambil hasil yang disimpan di “guru99”

Baca Data dari Tabel HBase: Java API

Tangkapan layar di atas menunjukkan data sedang dibaca dari tabel HBase 'guru99'

  1. Dalam hal ini, kita akan mengambil nilai yang disimpan dalam kelompok kolom yaitu “pendidikan” dan “proyek”
  2. Dengan menggunakan perintah “get” kita akan mengambil nilai yang disimpan di tabel HBase
  3. Hasil pemindaian menggunakan perintah “scan”. Nilai-nilai yang disimpan di baris1 akan ditampilkan di konsol.

Setelah penulisan kode selesai, Anda harus menjalankannya Jawa aplikasi seperti ini

  • Klik kanan pada HBaseLoading.java -> Jalankan Sebagai -> Java Aplikasi
  • Setelah menjalankan "HBaseLoading .java", nilai akan dimasukkan ke dalam "guru99" di setiap kolom di HBase dan dalam program yang sama ia juga dapat mengambil nilai.

Berikut kode lengkapnya

import java.io.IOException;							
import org.apache.hadoop.hbase.HBaseConfiguration;			
import org.apache.hadoop.hbase.client.Get;							
import org.apache.hadoop.hbase.client.HTable;							
import org.apache.hadoop.hbase.client.Put;							
import org.apache.hadoop.hbase.client.Result;						
import org.apache.hadoop.hbase.client.ResultScanner;						
import org.apache.hadoop.hbase.client.Scan;						
import org.apache.hadoop.hbase.util.Bytes;							
public class HBaseLoading							
{							
public static void main(String[] args) throws IOException						
{							
/* When you create a HBaseConfiguration, it reads in whatever you've set into your hbase-site.xml and in hbase-default.xml, as long as these can be found on the CLASSPATH*/							

org.apache.hadoop.conf.Configuration config = HBaseConfiguration.create();							

/*This instantiates an HTable object that connects you to the "test" table*/	

HTable table = new HTable(config, "guru99");										

/* To add to a row, use Put. A Put constructor takes the name of the row you want to insert into as a byte array.*/					

Put p = new Put(Bytes.toBytes("row1"));										

/*To set the value you'd like to update in the row 'row1', specify  the column family, column qualifier, and value of the table cell you'd like to update.  The column family must already exist in your table schema.  The qualifier can be anything.*/ 							

p.add(Bytes.toBytes("education"), Bytes.toBytes("col1"),Bytes.toBytes("BigData"));								
p.add(Bytes.toBytes("projects"),Bytes.toBytes("col2"),Bytes.toBytes("HBaseTutorials"));

// Once you've adorned your Put instance with all the updates you want to  make, to commit it do the following 							

table.put(p);	

// Now, to retrieve the data we just wrote.	

  Get g = new Get(Bytes.toBytes("row1"));										
  Result r = table.get(g);					

byte [] value = r.getValue(Bytes.toBytes("education"),Bytes.toBytes("col1"));											
byte [] value1 = r.getValue(Bytes.toBytes("projects"),Bytes.toBytes("col2"));											
String valueStr = Bytes.toString(value);							

String valueStr1 = Bytes.toString(value1);							
System.out.println("GET: " +"education: "+ valueStr+"projects: "+valueStr1);														

  Scan s = new Scan();								

s.addColumn(Bytes.toBytes("education"), Bytes.toBytes("col1"));										
s.addColumn(Bytes.toBytes("projects"), Bytes.toBytes("col2"));										
ResultScanner scanner = table.getScanner(s);							
try							
{							
for (Result rr = scanner.next(); rr != null; rr = scanner.next())									
   {							
System.out.println("Found row : " + rr);										
       }							
} finally							
{							
// Make sure you close your scanners when you are done!						

scanner.close();							
       }							
   }							
}

Ringkasan

Seperti yang kita bahas di tutorial ini, Anda bisa menggunakan perintah put untuk memasukkan data ke dalam tabel. Anda dapat menggunakan perintah pemindaian, dapatkan untuk membaca data dari tabel