Sisesta & Andmete hankimine HBase'is: get (), put (), scan () Näited

Lang L: none (table-of-contents):

Anonim

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 TIMERANGE, TIMESTAMP, VERSIONS ja FILTRID.

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

  1. Kui loome HBase'i konfiguratsiooni, osutab see igale konfiguratsioonile, mille me HBase'i installimisel seadistame failides base-site.xml ja hbase-default.xml
  2. Tabeli "guru99" loomine HTable meetodil
  3. 1. rea lisamine tabelisse "guru99"
  4. 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"

  1. Selles toome välja veeruperedesse salvestatud väärtused, st "haridus" ja "projektid"
  2. "Get" käsu abil toome HBase tabelisse salvestatud väärtused
  3. 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