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
- Oletetaan, ettรค jos taulukko "Guru99โ, jolla on jokin taulukkoviittaus, kuten esimerkiksi g. Voimme myรถs suorittaa komennon taulukkoviittaukselle, kuten
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รค
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.
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.
Yllรค olevasta kuvakaappauksesta
- 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
- Taulukon "guru99" luominen HTable-menetelmรคllรค
- Lisรคtรครคn rivi1 taulukkoon "guru99"
- 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
Yllรค oleva kuvakaappaus nรคyttรครค, ettรค tietoja luetaan HBase-taulukosta 'guru99'
- Tรคssรค aiomme hakea arvot, jotka on tallennettu sarakeperheisiin eli "koulutus" ja "projektit".
- Kรคyttรคmรคllรค "get"-komentoa aiomme hakea tallennetut arvot HBase-taulukkoon
- 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





