V tej vadnici boste izvedeli:
- Zapiši podatke v tabelo HBase: lupina
- Preberite podatke iz tabele HBase: Shell
- Zapiši podatke v tabelo HBase: API JAVA
- Preberite podatke iz tabele HBase: API JAVA
Zapiši podatke v tabelo HBase: lupina
Ukaz put se uporablja za shranjevanje podatkov v tabelo
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Ta ukaz se uporablja za naslednje stvari
- V določeno ali določeno tabelo ali vrstico ali stolpec bo postavil vrednost celice.
- Po želji bo koordiniral časovni žig.
Primer:
- Tu vstavljamo vrednosti v tabelo "guru99" pod vrstico r1 in stolpec c1
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- V tabelo "guru99" smo postavili tri vrednosti, 10,15 in 30, kot je prikazano na spodnjem posnetku zaslona
-
Recimo, če ima tabela "Guru99" referenco tabele, kot je recimo g. Ukaz lahko zaženemo tudi na sklicu tabele
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
-
Rezultat bo prikazan na zgornjem posnetku zaslona po vnosu vrednosti v "guru99".
Preberite podatke iz tabele HBase: Shell
V tem poglavju bomo preverili naslednje
- Vrednosti, ki so vstavljene v tabelo HBase "guru99"
- Imena stolpcev z vrednostmi, ki so prisotne v tabeli HBase tabele guru99
Iz zgornjega posnetka zaslona lahko sklepamo
- Če zaženemo ukaz "scan" v lupini HBase, bo prikazal vstavljene vrednosti v "guru99", kot sledi
- V lupini HBase bo prikazal vrednosti, ki jih vstavi naša koda, z imeni stolpcev in vrstic
- Tu lahko vidimo vstavljeno ime stolpca "izobraževanje" in "projekti"
- V omenjeni stolpci sta vstavljeni vrednosti "BigData" in "HBase Tutorials"
Za branje podatkov iz tabele lahko uporabite tudi ukaz Get
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Sem spadajo
Z uporabo tega ukaza boste v tabeli dobili vsebino vrstice ali celice. Poleg tega mu lahko dodate tudi dodatne parametre, kot so TIMESTAMP, TIMERANGE, VERSIONS, FILTERS itd., Da dobite določeno vsebino vrstice ali celice.
Primeri: -
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
V tabeli "guru99 'se bodo vrednosti vrstic r1 in stolpcev c1 prikazale s tem ukazom, kot je prikazano na zgornjem posnetku zaslona
hbase> get 'guru99', 'r1'
V tabeli "guru99" bodo vrednosti r1 prikazane s tem ukazom
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Za tabelo "guru99" bodo s tem ukazom prikazane vrednosti vrstice 1 v časovnem območju ts1 in ts2
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
V tabeli "guru99" se s tem ukazom prikažejo vrednosti c1, c2, c3 družin vrstic r1 in stolpcev.
Zapiši podatke v tabelo HBase: API JAVA
V tem koraku bomo podatke zapisali v tabelo HBase "guru99"
Najprej moramo napisati kodo za vstavljanje in pridobivanje vrednosti iz HBase s pomočjo programa HBaseLoading.java.
Za ustvarjanje in vstavljanje vrednosti v tabelo na ravni stolpca morate kodirati kot spodaj .
Z zgornjega posnetka zaslona
- Ko ustvarimo konfiguracijo HBase, bo pokazala na konfiguracije, ki smo jih nastavili v datotekah base-site.xml in hbase-default.xml med namestitvijo HBase
- Ustvarjanje tabele "guru99" z uporabo metode HTable
- Dodajanje vrstice1 v tabelo "guru99"
- Navedite imena stolpcev "izobraževanje" in "projekti" ter vstavite vrednosti v imena stolpcev v ustrezni vrstici1. Tu so vstavljene vrednosti "BigData" in "HBaseTutorials".
Preberite podatke iz tabele HBase: Java API
Ne glede na vrednosti, ki smo jih postavili v tabele HBase v zgornjem razdelku, bomo te vrednosti prevzeli in prikazali.
Za pridobivanje rezultatov, shranjenih v "guru99"
Zgornji posnetek zaslona prikazuje podatke, ki se berejo iz tabele HBase 'guru99'
- V tem bomo dobili vrednosti, ki so shranjene v družinah stolpcev, tj. "Izobraževanje" in "projekti"
- Z ukazom "get" pridobimo shranjene vrednosti v tabeli HBase
- Optično branje rezultatov z ukazom "scan". Vrednosti, ki so shranjene v vrstici1, bodo prikazane na konzoli.
Ko je pisanje kode končano, morate zagnati tako aplikacijo java
- Z desno miškino tipko kliknite HBaseLoading.java -> Zaženi kot -> Java aplikacija
- Po zagonu "HBaseLoading .java" vrednosti, ki se bodo vstavile v "guru99" v vsakem stolpcu v HBase in v istem programu lahko pridobi tudi vrednosti.
Tu je celotna koda
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();}}}
Povzetek:
Kot smo razpravljali v tej vadnici, lahko z ukazom put vstavite podatke v tabelo. Za branje podatkov iz tabele lahko uporabite ukaz scan, get