HBase-kysely Esimerkki: put(), get(), scan() HBase-komento

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 asettaa solun "arvon" määritettyyn tai määritettyyn taulukkoon tai riviin tai sarakkeeseen.
  • Se valinnaisesti koordinoi aikaleimaa.

Esimerkiksi:

  • Tässä sijoitamme arvot taulukkoon "guru99" riville r1 ja sarakkeelle c1
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • Olemme sijoittaneet kolme arvoa, 10,15, 30 ja 99 taulukkoon "guruXNUMX", kuten alla olevassa kuvakaappauksessa

Kirjoita tiedot HBase-taulukkoon: Shell

  • Oletetaan, jos taulukossa “Guru99” on jokin taulukkoviittaus, kuten sanotaan g. Voimme myös suorittaa komennon taulukkoviittauksilla
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Tulos on yllä olevan kuvakaappauksen mukainen, kun arvot on asetettu kohtaan "guru99".

Lue tiedot HBase-taulukosta: Shell

Tässä osiossa tarkistamme seuraavat asiat

  • Arvot, jotka lisätään HBase-taulukkoon "guru99"
  • Sarakkeiden nimet arvoineen HBase-taulukon guru99:ssä

Lue tiedot HBase-taulukosta: Shell

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ää koodimme lisäämät arvot sarakkeiden ja rivien nimillä
  • Täällä näemme lisätyn sarakkeen nimet "koulutus" ja "projektit"
  • Lisätyt arvot ovat "BigData" ja "HBase Tutorials" mainittuihin sarakkeisiin

Voit myös käyttää Get-komentoa tietojen lukemiseen taulukosta

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

Tässä sisältää TIMERANGE, TIMESTAMP, VERSIONS ja FILTERS.

Käyttämällä tätä komentoa saat taulukkoon rivin tai solun sisällön. Tämän lisäksi voit myös lisätä siihen lisäparametreja, kuten TIMESTAMP, TIMERANGE, VERSIONS, FILTERS jne. saadaksesi tietyn rivin tai solun sisällön.

Lue tiedot HBase-taulukosta: Shell

Esimerkkejä: -

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

Taulukon "guru99" rivin r1 ja sarakkeen c1 arvot näytetään käyttämällä tätä komentoa, kuten yllä olevassa kuvakaappauksessa

hbase> get 'guru99', 'r1'

Taulukon “guru99” rivin r1-arvot näytetään tällä komennolla

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

Taulukon “guru99” rivin 1 arvot aikavälillä ts1 ja ts2 näytetään tällä komennolla

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

Taulukon “guru99” rivin r1 ja sarakeperheiden c1, c2, c3 arvot näytetään tällä komennolla

Kirjoita tiedot HBase-taulukkoon: JAVA API

Tässä vaiheessa kirjoitamme tiedot HBase-taulukkoon "guru99"

Ensin meidän on kirjoitettava koodi lisäämistä varten ja haettava arvot HBase-sovelluksesta käyttämälläHBaseLoading.java-ohjelma.

Jos haluat luoda ja lisätä arvoja taulukkoon saraketasolla, sinun on koodattava alla olevan mukaisesti.

Kirjoita tiedot HBase-taulukkoon: JAVA API

Yllä olevasta kuvakaappauksesta

  1. Kun luomme HBase-määrityksen, se osoittaa mitä tahansa määrityksiä, jotka määritimme base-site.xml- ja hbase-default.xml-tiedostoissa aikana. HBase-asennukset
  2. Taulukon "guru99" luominen HTable-menetelmällä
  3. Lisätään rivi1 taulukkoon "guru99"
  4. Sarakkeiden nimien "education" ja "projects" määrittäminen ja arvojen lisääminen vastaavan rivin sarakkeiden nimiin1. Tähän lisätyt arvot ovat "BigData" ja "HBaseTutorials".

Lue tiedot HBase-taulukosta: Java API

Riippumatta arvoista, jotka asetimme HBase-taulukoihin yllä olevassa osiossa, aiomme noutaa ja näyttää nämä arvot.

"guru99:een" tallennettujen tulosten hakemiseen

Lue tiedot HBase-taulukosta: Java API

Yllä oleva kuvakaappaus näyttää, että tietoja luetaan HBase-taulukosta 'guru99'

  1. Tässä aiomme hakea arvot, jotka on tallennettu sarakeperheisiin eli "koulutus" ja "projektit".
  2. Käyttämällä "get"-komentoa aiomme hakea tallennetut arvot HBase-taulukkoon
  3. Tulosten skannaus "skannaa"-komennolla. Riville 1 tallennetut arvot se näyttää konsolissa.

Kun koodi on kirjoitettu, sinun on suoritettava Jaava tällainen sovellus

  • Napsauta hiiren kakkospainikkeella HBaseLoading.java -> Suorita nimellä -> Java Hakemus
  • Kun "HBaseLoading .java" on suoritettu, arvot lisätään "guru99" -kenttään jokaisessa HBasen sarakkeessa ja samassa ohjelmassa se 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 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();							
       }							
   }							
}

Yhteenveto

Kuten tässä opetusohjelmassa kerroimme, voit käyttää put-komentoa tietojen lisäämiseen taulukkoon. Voit käyttää scan, get -komentoa lukeaksesi tietoja taulukosta