Dalam tutorial ini, anda akan belajar:
- Tulis Data ke Jadual HBase: Shell
- Baca Data dari Jadual HBase: Shell
- Tulis Data ke Jadual HBase: JAVA API
- Baca Data dari Jadual HBase: JAVA API
Tulis Data ke Jadual HBase: Shell
Perintah put digunakan untuk menyimpan data ke dalam jadual
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Perintah ini digunakan untuk perkara berikut
- Ia akan meletakkan sel 'nilai' pada jadual atau baris atau lajur yang ditentukan atau ditentukan.
- Pilihan ini akan menyelaraskan cap waktu.
Contoh:
- Di sini kita meletakkan nilai ke dalam jadual "guru99" di bawah baris r1 dan lajur c1
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- Kami telah meletakkan tiga nilai, 10,15 dan 30 dalam jadual "guru99" seperti yang ditunjukkan dalam tangkapan skrin di bawah
-
Katakan jika jadual "Guru99" mempunyai sebilangan rujukan jadual seperti katakanlah g. Kita juga boleh menjalankan perintah pada rujukan jadual seperti
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
-
Hasilnya akan seperti yang ditunjukkan dalam tangkapan skrin di atas setelah memasukkan nilai ke dalam "guru99".
Baca Data dari Jadual HBase: Shell
Di bahagian ini, kami akan memeriksa perkara berikut
- Nilai yang dimasukkan ke dalam jadual HBase "guru99"
- Nama lajur dengan nilai terdapat dalam HBase Table guru99
Dari tangkapan skrin di atas, kita dapat membuat kesimpulan
- Jika kita menjalankan perintah "scan" di shell HBase, ia akan memaparkan nilai yang dimasukkan dalam "guru99" seperti berikut
- Dalam shell HBase, ia akan memaparkan nilai yang dimasukkan oleh kod kami dengan nama lajur dan baris
- Di sini kita dapat melihat nama lajur yang dimasukkan adalah "pendidikan" dan "projek"
- Nilai yang dimasukkan adalah "BigData" dan "Tutorial HBase" ke dalam ruangan yang disebutkan
Anda juga boleh menggunakan perintah Get untuk membaca data dari jadual
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Di sini
Dengan menggunakan arahan ini, anda akan mendapat baris atau isi sel yang terdapat dalam jadual. Selain itu anda juga dapat menambahkan parameter tambahan padanya seperti TIMESTAMP, TIMERANGE, VERSIONS, FILTERS, dll untuk mendapatkan baris atau isi sel tertentu.
Contoh:-
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
Untuk jadual "guru99 'baris r1 dan lajur c1 akan dipaparkan menggunakan perintah ini seperti yang ditunjukkan dalam tangkapan skrin di atas
hbase> get 'guru99', 'r1'
Untuk jadual "guru99" baris nilai r1 akan dipaparkan menggunakan perintah ini
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Untuk jadual "guru99" nilai baris 1 dalam julat waktu ts1 dan ts2 akan dipaparkan menggunakan perintah ini
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
Untuk jadual "guru99" baris r1 dan keluarga c1, c2, nilai c3 akan dipaparkan menggunakan perintah ini
Tulis Data ke Jadual HBase: JAVA API
Dalam langkah ini, kita akan menulis data ke dalam jadual HBase "guru99"
Pertama, kita harus menulis kod untuk memasukkan dan mengambil nilai dari HBase dengan menggunakan- program HBaseLoading.java.
Untuk membuat dan memasukkan nilai ke dalam jadual di tingkat lajur, anda harus membuat kod seperti di bawah .
Dari tangkapan skrin di atas
- Apabila kita membuat konfigurasi HBase, ia akan menunjukkan konfigurasi apa pun yang kita tetapkan dalam file base-site.xml dan hbase-default.xml semasa pemasangan HBase
- Pembuatan jadual "guru99" menggunakan kaedah HTable
- Menambah baris1 ke jadual "guru99"
- Menentukan nama lajur "pendidikan" dan "projek" dan memasukkan nilai ke dalam nama lajur di baris masing-masing1. Nilai yang dimasukkan di sini adalah "BigData" dan "HBaseTutorials".
Baca Data dari Jadual HBase: Java API
Apa pun nilai yang kita letakkan dalam jadual HBase di bahagian di atas, di sini kita akan mengambil dan memaparkan nilai-nilai tersebut.
Untuk mendapatkan hasil yang disimpan di "guru99"
Tangkapan skrin di atas menunjukkan data sedang dibaca dari jadual HBase 'guru99'
- Dalam hal ini, kita akan mengambil nilai yang disimpan dalam keluarga lajur iaitu "pendidikan" dan "projek"
- Dengan menggunakan perintah "get", kita akan mengambil nilai yang tersimpan dalam jadual HBase
- Hasil pengimbasan menggunakan arahan "scan". Nilai yang disimpan dalam baris1 akan dipaparkan di konsol.
Setelah menulis kod selesai, anda harus menjalankan aplikasi java seperti ini
- Klik kanan pada HBaseLoading.java -> Run As -> Aplikasi Java
- Setelah menjalankan "HBaseLoading .java" nilai akan dimasukkan ke dalam "guru99" di setiap lajur di HBase dan dalam program yang sama ia dapat mengambil nilai juga.
Inilah kod 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 telah kita bahas dalam tutorial ini, anda dapat menggunakan perintah put untuk memasukkan data ke dalam tabel. Anda boleh menggunakan imbasan, dapatkan perintah untuk membaca data dari jadual