Sisipkan & Ambil Data di HBase: get (), put (), scan () Contoh

Daftar Isi:

Anonim

Dalam tutorial ini, Anda akan mempelajari:

  • Tulis Data ke Tabel HBase: Shell
  • Baca Data dari Tabel HBase: Shell
  • Tulis Data ke Tabel HBase: JAVA API
  • Baca Data dari Tabel HBase: JAVA API

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-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 pada tabel "guru99" seperti yang ditunjukkan pada gambar di bawah

  • Misalkan tabel "Guru99" memiliki beberapa referensi tabel seperti misalnya g. Kami juga dapat 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

Di bagian ini, kami akan memeriksa yang berikut ini

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

Dari tangkapan layar di atas, kita dapat menyimpulkan

  • Jika kita menjalankan perintah "scan" di shell HBase, itu akan menampilkan nilai yang dimasukkan dalam "guru99" sebagai berikut
  • Di shell HBase, itu akan menampilkan nilai yang dimasukkan oleh kode kami dengan nama kolom dan baris
  • Di sini kita bisa melihat nama kolom yang dimasukkan 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, VERSIONS dan FILTER.

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

Contoh: -

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

Untuk tabel "guru99 'baris r1 dan kolom c1 nilai 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, nilai 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 .

Dari tangkapan layar di atas

  1. Ketika kita membuat konfigurasi HBase, itu akan menunjuk ke konfigurasi apa pun yang kita tetapkan 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 dimasukkan di sini adalah "BigData" dan "HBaseTutorials".

Baca Data dari Tabel HBase: Java API

Apa pun nilai yang kami tempatkan di tabel HBase di bagian atas, di sini kami akan mengambil dan menampilkan nilai-nilai itu.

Untuk mengambil hasil yang disimpan di "guru99"

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. Menggunakan perintah "get" kita akan mengambil nilai yang disimpan dalam tabel HBase
  3. Hasil scan menggunakan perintah "scan". Nilai-nilai yang disimpan di baris1 itu akan ditampilkan di konsol.

Setelah menulis kode selesai, Anda harus menjalankan aplikasi java seperti ini

  • Klik kanan pada HBaseLoading.java -> Run As -> Java Application
  • Setelah menjalankan "HBaseLoading .java" nilai akan dimasukkan ke dalam "guru99" di setiap kolom di HBase dan dalam program yang sama dapat mengambil nilai juga.

Ini 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 followingtable.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 dalam tutorial ini, Anda dapat menggunakan perintah put untuk memasukkan data ke dalam tabel. Anda dapat menggunakan perintah scan, get untuk membaca data dari tabel