Tässä opetusohjelmassa opit:
- Kirjoita tiedot HBase-taulukkoon: Shell
- Lue tiedot HBase-taulukosta: Shell
- Kirjoita tiedot HBase-taulukkoon: JAVA-sovellusliittymä
- Lue tiedot HBase-taulukosta: JAVA-sovellusliittymä
Kirjoita tiedot HBase-taulukkoon: Shell
Put-komentoa käytetään tietojen tallentamiseen taulukkoon
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Tätä komentoa käytetään seuraaviin asioihin
- Se sijoittaa solun arvon määritettyyn tai määritettyyn taulukkoon tai riviin tai sarakkeeseen.
- Se koordinoi aikaleiman.
Esimerkki:
- Tässä asetamme arvot taulukkoon "guru99" rivin r1 ja sarakkeen c1 alle
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- Olemme sijoittaneet kolme arvoa, 10,15 ja 30 taulukkoon "guru99", kuten alla olevassa kuvakaappauksessa näkyy
-
Oletetaan, että jos taulukossa "Guru99" on taulukon viite, kuten sanotaan g. Voimme myös suorittaa komennon taulukon viitteessä
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
-
Tulos on kuten yllä olevassa kuvakaappauksessa on esitetty, kun arvot on asetettu "guru99": een.
Lue tiedot HBase-taulukosta: Shell
Tässä osiossa tarkistamme seuraavat
- Arvot, jotka lisätään HBase-taulukkoon "guru99"
- Sarakkeiden nimet, joiden arvot ovat HBase-taulukon guru99: ssä
Yllä olevasta kuvakaappauksesta voimme päätellä
- Jos suoritamme "scan" -komennon HBase-kuoressa, se näyttää lisätyt arvot "guru99: ssä" seuraavasti
- HBase-kuoressa se näyttää koodin lisäämät arvot sarakkeiden ja rivien nimillä
- Täällä voimme nähdä, että sarakkeen nimi on "koulutus" ja "projektit"
- Lisätyt arvot ovat "BigData" ja "HBase Tutorials" mainittuihin sarakkeisiin
Voit myös käyttää Get-komentoa lukemaan tietoja taulukosta
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Täällä
Tämän komennon avulla saat rivin tai solun sisällön taulukkoon. Sen lisäksi voit lisätä siihen lisäparametreja, kuten AIKAVAIHE, AJASTIN, VERSIOT, SUODATTIMET jne. Saadaksesi tietyn rivin tai solun sisällön.
Esimerkkejä: -
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
Taulukon "guru99" rivit r1 ja sarake c1 näkyvät tällä komennolla, kuten yllä olevassa kuvakaappauksessa esitetään
hbase> get 'guru99', 'r1'
Taulukon "guru99" rivillä r1-arvot näytetään tällä komennolla
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Taulukon "guru99" rivillä 1 arvot aikavälillä ts1 ja ts2 näytetään tällä komennolla
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
Taulukon "guru99" rivillä r1 ja sarakeperheiden c1, c2, c3 arvot näytetään tällä komennolla
Kirjoita tiedot HBase-taulukkoon: JAVA-sovellusliittymä
Tässä vaiheessa aiomme kirjoittaa tietoja HBase-taulukkoon "guru99"
Ensinnäkin meidän on kirjoitettava koodi lisäyksille ja haettava arvot HBasesta käyttämällä HBaseLoading.java-ohjelmaa.
Arvojen luominen ja lisääminen taulukkoon saraketasolla edellyttää koodaamista kuten alla .
Yllä olevasta kuvakaappauksesta
- Kun luot HBase-kokoonpanon, se osoittaa mitä tahansa kokoonpanoja, jotka asetamme base-site.xml- ja hbase-default.xml-tiedostoihin HBase-asennusten aikana
- Taulukon "guru99" luominen HTable-menetelmällä
- Lisätään rivi 1 taulukkoon "guru99"
- Määritetään sarakkeiden nimet "koulutus" ja "projektit" ja lisätään arvot sarakkeiden nimiin vastaavalla rivillä1. Tähän lisätyt arvot ovat "BigData" ja "HBaseTutorials".
Lue tiedot HBase-taulukosta: Java-sovellusliittymä
Riippumatta arvoista, jotka sijoitimme HBase-taulukoihin edellisessä osiossa, aiomme noutaa ja näyttää nämä arvot.
"Guru99" -palveluun tallennettujen tulosten hakeminen
Yllä oleva kuvakaappaus osoittaa, että tietoja luetaan HBase-taulukosta 'guru99'
- Tässä aiomme hakea arvot, jotka on tallennettu sarakeperheisiin eli "koulutus" ja "projektit"
- "Get" -komennolla haemme tallennetut arvot HBase-taulukkoon
- Tulosten skannaus käyttämällä "scan" -komentoa. Arvot, jotka on tallennettu riville 1, se näytetään konsolissa.
Kun koodi on kirjoitettu, sinun on suoritettava tällainen Java-sovellus
- Napsauta hiiren kakkospainikkeella kohtaa HBaseLoading.java -> Suorita nimellä -> Java-sovellus
- Kun "HBaseLoading .java" on suoritettu, arvot, jotka lisätään "guru99": een HBasen jokaisessa sarakkeessa ja samassa ohjelmassa, voi myös hakea arvoja.
Tässä on täydellinen koodi
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();}}}
Yhteenveto:
Kuten keskustelimme tässä opetusohjelmassa, voit lisätä tietoja taulukkoon put-komennolla. Voit käyttää skannausta, hae -komentoa lukemaan tietoja taulukosta