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
- 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
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.
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.
Dari tangkapan layar di atas
- 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
- Pembuatan tabel “guru99” menggunakan metode HTable
- Menambahkan baris1 ke tabel “guru99”
- 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”
Tangkapan layar di atas menunjukkan data sedang dibaca dari tabel HBase 'guru99'
- Dalam hal ini, kita akan mengambil nilai yang disimpan dalam kelompok kolom yaitu “pendidikan” dan “proyek”
- Dengan menggunakan perintah “get” kita akan mengambil nilai yang disimpan di tabel HBase
- 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