Selles õpetuses saate teada:
- Andmete kirjutamine HBase'i tabelisse: Shell
- Loe andmeid HBase'i tabelist: kest
- Andmete kirjutamine HBase'i tabelisse: JAVA API
- Loe andmeid HBase'i tabelist: JAVA API
Andmete kirjutamine HBase'i tabelisse: Shell
Put käsku kasutatakse andmete tabelisse salvestamiseks
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Seda käsku kasutatakse järgmisteks asjadeks
- See paneb lahtri „väärtus” määratletud või määratud tabelisse või ritta või veergu.
- See koordineerib soovi korral ajatemplit.
Näide:
- Siin asetame väärtused tabelisse "guru99" rea r1 ja veeru c1 alla
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- Oleme tabelisse "guru99" paigutanud kolm väärtust, 10,15 ja 30, nagu on näidatud alloleval ekraanipildil
-
Oletame, et kui tabelil "Guru99" on mõni tabeliviide, näiteks öelge g. Samuti võime käsku käivitada ka tabeliviidete järgi
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
-
Pärast väärtuste sisestamist "guru99" väljund on selline, nagu ülaltoodud ekraanipildil näidatud.
Loe andmeid HBase'i tabelist: kest
Selles jaotises kontrollime järgmist
- Väärtused, mis on sisestatud HBase'i tabelisse "guru99"
- HBase tabeli guru99 väärtuste veergude nimed
Ülaltoodud ekraanipildi põhjal võime järeldada
- Kui käivitame käsu "scan" HBase'i kestas, kuvatakse "guru99" sisestatud väärtused järgmiselt
- HBase'i kestas kuvab see meie koodi sisestatud väärtused veergude ja ridade nimedega
- Siin näeme, et veeru nimi on "haridus" ja "projektid"
- Nimetatud veergudesse on sisestatud väärtused "BigData" ja "HBase Tutorials"
Andmete lugemiseks tabelist saate kasutada ka käsku Hangi
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Siia kuuluvad
Selle käsu abil saate tabelis rea või lahtri sisu. Lisaks sellele saate konkreetse rea või lahtri sisu saamiseks lisada sellele ka täiendavaid parameetreid, näiteks TIMESTAMP, TIMERANGE, VERSIONS, FILTERS jne.
Näited: -
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
Tabeli "guru99" rida r1 ja veerg c1 kuvatakse selle käsu abil väärtused, nagu on näidatud ülaltoodud ekraanipildil
hbase> get 'guru99', 'r1'
Tabeli "guru99" rea korral kuvatakse r1 väärtused selle käsu abil
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Tabeli "guru99" korral kuvatakse selle käsu abil rea 1 väärtused ajavahemikus ts1 ja ts2
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
Tabeli "guru99" rida r1 ja veeruperede väärtused c1, c2, c3 kuvatakse selle käsu abil
Andmete kirjutamine HBase'i tabelisse: JAVA API
Selles etapis kirjutame andmed HBase'i tabelisse "guru99"
Esiteks peame kirjutama koodi sisestamiseks ja väärtuste hankimiseks HBase'ist, kasutades programmi HBaseLoading.java.
Veeru tasandil tabelisse väärtuste loomiseks ja sisestamiseks peate kodeerima nagu allpool .
Ülaltoodud ekraanipildilt
- Kui loome HBase'i konfiguratsiooni, osutab see igale konfiguratsioonile, mille me HBase'i installimisel seadistame failides base-site.xml ja hbase-default.xml
- Tabeli "guru99" loomine HTable meetodil
- 1. rea lisamine tabelisse "guru99"
- Veergude nimede "haridus" ja "projektid" täpsustamine ning väärtuste lisamine vastava rea veergude nimedesse1. Siia on sisestatud väärtused "BigData" ja "HBaseTutorials".
Loe andmeid HBase'i tabelist: Java API
Mis iganes väärtused me ülalolevas jaotises HBase'i tabelitesse paigutasime, siin me need väärtused toome ja kuvame.
"Guru99" salvestatud tulemuste hankimiseks
Ülaltoodud ekraanipilt näitab, et andmeid loetakse HBase'i tabelist "guru99"
- Selles toome välja veeruperedesse salvestatud väärtused, st "haridus" ja "projektid"
- "Get" käsu abil toome HBase tabelisse salvestatud väärtused
- Tulemuste skannimine käsuga "skaneerimine". Väärtused, mis on salvestatud reale 1, kuvatakse see konsoolis.
Kui kood on kirjutatud, peate käivitama sellise Java-rakenduse
- Paremklõpsake valikul HBaseLoading.java -> Run As -> Java Application
- Pärast "HBaseLoading .java" käivitamist saavad HBase'i igas veerus "guru99" sisestatavad väärtused ja samas programmis ka väärtused alla laadida.
Siin on täielik kood
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();}}}
Kokkuvõte:
Nagu me selles õpetuses arutlesime, saate andmete sisestamiseks tabelisse kasutada käsku put. Andmete lugemiseks tabelist saate kasutada skannimist, saada käsku