HBase'i päringu näide: put(), get(), scan() Käsk HBase'is

Kirjutage andmed HBase'i tabelisse: Shell

Käsku put kasutatakse andmete salvestamiseks tabelisse

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

Seda käsku kasutatakse järgmiste asjade jaoks

  • See lisab määratletud või määratud tabelisse või reale või veergu lahtri väärtuse.
  • See koordineerib valikuliselt ajatemplit.

Näide:

  • Siin asetame väärtused tabelisse "guru99" rea r1 ja veeru c1 alla
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • Oleme paigutanud tabelisse “guru10,15” kolm väärtust, 30 ja 99, nagu on näidatud alloleval ekraanipildil

Kirjutage andmed HBase'i tabelisse: Shell

  • Oletame, et tabelis “Guru99” on mõni tabeliviide, näiteks g. Samuti võime käsku käivitada tabeliviites
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Väljund on selline, nagu on näidatud ülaltoodud ekraanipildil pärast väärtuste paigutamist "guru99".

Lugege andmeid HBase'i tabelist: Shell

Selles jaotises kontrollime järgmist

  • Väärtused, mis lisatakse HBase'i tabelisse "guru99"
  • HBase tabeli guru99 väärtustega veergude nimed

Lugege andmeid HBase'i tabelist: Shell

Ülaltoodud ekraanipildi põhjal saame järeldada

  • Kui käivitame HBase shellis käsu "scan", kuvab see sisestatud väärtused "guru99" järgmiselt
  • HBase'i kestas kuvab see meie koodi sisestatud väärtused veergude ja ridade nimedega
  • Siin näeme sisestatud veeru nimesid "haridus" ja "projektid"
  • Sisestatud väärtused on "Suured andmed” ja „HBase’i õpetused” nimetatud veergudesse

Tabelist andmete lugemiseks saate kasutada ka käsku Hangi

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

Siin sisaldab TIMERANGE, TIMESTAMP, VERSIONS ja FILTER.

Seda käsku kasutades kuvatakse tabelis rea või lahtri sisu. Lisaks saate sellele lisada ka täiendavaid parameetreid, nagu TIMESTAMP, TIMERANGE, VERSIONS, FILTERS jne, et saada teatud rea või lahtri sisu.

Lugege andmeid HBase'i tabelist: Shell

Näited: -

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

Tabeli “guru99” jaoks kuvatakse rea r1 ja veeru c1 väärtused selle käsu abil, nagu on näidatud ülaltoodud ekraanipildil

hbase> get 'guru99', 'r1'

Tabeli “guru99” jaoks kuvatakse selle käsu abil rea r1 väärtused

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

Tabeli “guru99” rea 1 väärtused ajavahemikus ts1 ja ts2 kuvatakse selle käsuga

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

Tabeli “guru99” rea r1 ja veeruperede c1, c2 ja c3 väärtused kuvatakse selle käsuga

Kirjutage andmed HBase'i tabelisse: JAVA API

Selles etapis kirjutame andmed HBase'i tabelisse "guru99"

Esiteks peame kirjutama sisestamise koodi ja hankima väärtused HBase'ist, kasutadesProgramm HBaseLoading.java.

Väärtuste loomiseks ja tabelisse veeru tasemel sisestamiseks peate kodeerima nagu allpool.

Kirjutage andmed HBase'i tabelisse: JAVA API

Ülaltoodud ekraanipildist

  1. Kui loome HBase'i konfiguratsiooni, osutab see mis tahes konfiguratsioonidele, mille me failides base-site.xml ja hbase-default.xml ajal määrame. HBase installatsioonid
  2. Tabeli “guru99” loomine HTable meetodil
  3. Rea1 lisamine tabelisse "guru99"
  4. Veerunimede “haridus” ja “projektid” määramine ning väärtuste sisestamine veergude nimedesse vastavas reas1. Siia sisestatud väärtused on "BigData" ja "HBaseTutorials".

Lugege andmeid HBase'i tabelist: Java API

Olenemata väärtustest, mille me ülaltoodud jaotises HBase'i tabelitesse paigutasime, toome ja kuvame need väärtused siin.

Guru99-sse salvestatud tulemuste toomiseks

Lugege andmeid HBase'i tabelist: Java API

Ülaltoodud ekraanipilt näitab, et andmeid loetakse HBase'i tabelist 'guru99'

  1. Selles toome väärtused, mis on salvestatud veergude perekondadesse, st "haridus" ja "projektid".
  2. Kasutades käsku "get", hangime HBase'i tabelisse salvestatud väärtused
  3. Tulemuste skannimine, kasutades käsku "scan". 1. reale salvestatud väärtused kuvatakse konsoolil.

Kui kood on kirjutatud, peate käivitama Java rakendus nagu see

  • Paremklõpsake failil HBaseLoading.java -> Käivita kui -> Java taotlus
  • Pärast "HBaseLoading .java" käivitamist lisatakse väärtused "guru99" igasse HBase'i veergu ja samas programmis saab see ka väärtusi hankida.

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 following 							

table.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 selles õpetuses arutasime, saate andmete tabelisse sisestamiseks kasutada käsku put. Tabelist andmete lugemiseks saate kasutada käsku scan, get