HBase Looge tabel rakendusega Java API ja kesta näide
⚡ Nutikas kokkuvõte
HBase salvestab andmeid tabelitesse ja neid tabeleid saab luua ja hallata kahel viisil: Java API koos HTable'igaDescriptvõi ja HBaseAdmini abil või otse HBase'i kestas käsu create abil.
Kuidas HBase'is tabelit luua Java API
HBase'is saab tabeleid luua kahel viisil: Java API ja HBase'i kesta kaudu. See jaotis käsitleb Java API, mis võimaldab rakendusel luua tabeleid ja laadida andmeid programmiliselt osana suuremast tööst.
Läbi Java API, saame luua HBase'is tabeleid ja laadida ka andmeid tabelitesse kasutades Java kodeerimine. Kaks asja, mille me siin seadistame, on:
- Ühenduse loomine HBase'iga läbi Java API.
- Kasutamine Eclipse eest Java kodeerimine, silumine ja testimine.
Järgmised sammud HBase kaudu tabelite loomiseks Java API.
Samm 1) Looge a Java Projekti sisse Eclipse
Selles etapis loome a Java projekt sisse Eclipse HBase-ühenduse jaoks nimega „HbaseConnection”.
Uus Java Allolev projektidialoog näitab seadistatavat projekti „HbaseConnection”:
Kui vaatame ülaltoodud ekraanipilti:
- Sisesta sellesse kasti projekti nimi. Meie puhul on projekti nimi „HbaseConnection”.
- Märkige see ruut, et määrata salvestuskoha vaikesäte. Siin on tee /home/hduser/work/HbaseConnection.
- Märkige ruut selle jaoks, Java keskkond siin. Sel juhul JavaSE-1.7 on Java väljaanne.
- Valige suvand, kuhu soovite faili salvestada. Meie puhul valisime teise suvandi „Looge lähtekoodide ja klassifailide jaoks eraldi kaust”.
- Klõpsake nuppu Valmis, mis loob projekti „HbaseConnection” Eclipse ja avab Eclipse avalehele.
2. samm) Konfigureerige ehitustee Eclipse
Kohta Eclipse Avalehel järgige ehitustee konfiguratsiooni avamiseks neid samme:
Right click on project -> Select Build Path -> Configure build path
Allolev ekraanipilt näitab paremklõpsu menüüd, mida kasutatakse ehitustee konfiguratsiooni avamiseks:
Ülaltoodud ekraanipildilt:
- Paremklõpsake projektil.
- Valige Loomise tee.
- Valige Konfigureeri ehitustee.
Pärast nupule „Konfigureeri ehitustee“ klõpsamist avaneb uus aken, nagu on näidatud alloleval ekraanipildil. Vahekaardil „Teekid“ lisatakse projektile HBase ja Hadoop JAR-failid:
Selles etapis lisame asjakohased HBase JAR-failid Java projekt, nagu ekraanipildil näidatud.
- Olulised lisatavad JAR-failid: hbase-0.94.8.jar ja hadoop-core-1.1.2.jar.
- Tule vahekaardile Raamatukogud.
- Vajutage valikut Lisa väliseid JAR-e.
- Valige vajalikud olulised JAR-failid.
- Nende failide lisamiseks kausta „src” vajutage nuppu „Valmis”. Java projekt raamatukogude all.
Pärast JAR-ide lisamist kuvatakse need projekti „src” asukohas, nagu allpool näidatud:
Kõik projekti alla kuuluvad JAR-failid on nüüd Hadoopi ökosüsteemis kasutamiseks valmis.
Samm 3) Looge HBase'i ühendus
Selles etapis luuakse HBaseConnection.java abil HBase-ühendus järgmise kaudu: Java kodeerimine.
Kohta Eclipse ülemises menüüs käivitage Java programmi, nagu allpool näidatud: Käivita -> Käivita nimega -> Java Rakendus. Allolev menüü näitab käivitatavat programmi:
- Valige Käivita.
- Valige Käivita nimega Java Taotlus
- See kood loob ühenduse HBase'iga läbi Java API.
- Pärast selle koodi käivitamist luuakse HBase'is tabel „guru99“, millel on kaks veeruperekonda nimega „haridus“ ja „projektid“. Praegu luuakse HBase'is ainult tühi skeem.
Allolev koodiväljavõte toob esile HTable'iDescriptvõi ja addFamily käsud, mis loovad tabeli skeemi:
Ülaltoodud ekraanipildilt täidame järgmisi funktsioone:
- HTable kasutamineDescriptvõi saame luua HBase'is tabeli „guru99”.
- Kasutades meetodit addFamily, lisame tabelisse „guru99“ veeruperekondadena „haridus“ ja „projektid“.
Allolev kood loob ühenduse HBase'iga ja loob tabeli „guru99” kahe veeruperekonnaga. Aseta see kood HBaseConnection.java dokumendi alla:
// Place this code inside Hbase connection import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; Import org.apache.hadoop.hbase.client.HBaseAdmin; public class HBaseConnection { public static void main(String[] args) throws IOException { HBaseConfigurationhc = new HBaseConfiguration(new Configuration()); HTableDescriptorht = new HTableDescriptor("guru99"); ht.addFamily( new HColumnDescriptor("education")); ht.addFamily( new HColumnDescriptor("projects")); System.out.println( "connecting" ); HBaseAdminhba = new HBaseAdmin( hc ); System.out.println( "Creating Table" ); hba.createTable( ht ); System.out.println("Done......"); } }
See on kohustuslik kood, mille peate enne käsu käivitamist faili HBaseConnection.java lisama. Java programmi.
Pärast selle programmi käivitamist loob see ühenduse HBase'iga ja loob omakorda veerunimedega tabeli.
- Tabeli nimi on “guru99”.
- Veergude perekonnad on „haridus” ja „projektid”.
Samm 4) Kontrollige HBase'is loodud tabelit
Saame HBase'is kontrollida, kas tabel „guru99” on loodud kahe veeruperekonnaga, kasutades HBase'i kestarežiimi käsuga „list”. Käsk „list” annab teavet kõigi HBase'is loodud tabelite kohta.
HBase'i kestas loendi käsu käivitamine kinnitab uue tabeli, nagu allpool näidatud:
- Code HBase'i kesta kontrollimine käsu „list” käivitamisega.
- Kui käivitame käsu „list“, kuvab see HBase'is loodud tabeli. Meie puhul näeme, et on loodud tabel „guru99“.
HBase Looge Shelliga tabel
Lisaks Java API abil saate tabeli luua otse HBase'i kestast, mis on kiireim viis tabeli seadistamiseks kiirtestide jaoks. HBase'is kesta abil tabeli loomise süntaks on järgmine:
Syntax: create <tablename>, <columnfamilyname>
Näide: -
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
Ülaltoodud näide selgitab, kuidas luua HBase'is tabel, mille nimi on antud iga veerupere spetsifikatsioonide kohaselt. Lisaks sellele saame sinna edastada ka mõned tabeli ulatuse atribuudid.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Siin määrab plokk {NAME=>'Edu', VERSIONS=>…} veerupere nimega „Edu“ ja säilitatavate lahtriversioonide arvu. Suur arv on vaid illustratiivne; praktikas on VERSIONS väike väärtus, näiteks 3 või 5.
HBase'i tabelite loetlemine, kirjeldamine ja kontrollimine
Tabeli loomine on vaid esimene osa tabelite haldamisest HBase'is. Kui tabel „guru99” on olemas, saate mõne üldise käsu abil seda enne andmete lugemist, kirjutamist või muutmist kontrollida ja selle olekut kinnitada. Saate neid kõiki käivitada HBase kest.
loendi käsk tagastab kõik HBase'i kasutajate tabelid:
hbase> list
Käsk describe näitab tabeli struktuuri, sealhulgas selle veergude perekondi ja seda, kas see on hetkel lubatud:
hbase> describe 'guru99'
Käsk „exists” kontrollib, kas tabel on olemas, ja „is_enabled” annab teada, kas tabel saab kirjutamiskõlbulikke kirjutusi vastu võtta:
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Neid kirjutuskaitstud kontrolle on ohutu igal ajal käivitada. Need on kiireim viis tabeli õigesti loomise kinnitamiseks ja selle veeruperekondade ülevaatamiseks enne andmete laadimist.
HBase'i tabeli muutmine
HBase'i tabeli skeemi ei parandata pärast loomist. Käsk alter muudab tabeli veeruperekondi ja tabeli ulatuse atribuute seda uuesti loomata. Sõltuvalt teie HBase'i versioonist peate võib-olla esmalt tabeli keelama, seejärel käivitama käsu alter ja selle uuesti lubama.
Uue veerupere lisamiseks tabelisse „guru99”:
hbase> alter 'guru99', {NAME => 'contact'}
Veergude perekonna säilitatavate versioonide arvu määramiseks toimige järgmiselt.
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Veergude perekonna kustutamiseks tabelist:
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
Samuti saate muuta tabeli ulatuse atribuute. Näiteks saate märkida tabeli kirjutuskaitstud või määrata piirkonnafaili maksimaalseks suuruseks 128 MB:
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Kuna käsk „alter“ kirjutab skeemi ümber, planeeri muudatused hoolikalt tootmistabelil ja kinnita tulemus hiljem käsuga „describe“.
HBase'i tabelite keelamine, lubamine ja eemaldamine
Tabeli eemaldamiseks või teatud muudatuste rakendamiseks nõuab HBase, et te selle kõigepealt keelaksite. Keelamine lülitab tabeli võrguühenduseta olekusse, nii et ükski klient ei saa seda lugeda ega sinna kirjutada, mis muudab struktuurimuudatused turvaliseks.
Keela tabel ja kontrolli selle olekut is_disabled abil:
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Lugemiste ja kirjutamiste jätkamiseks lubage tabel uuesti:
hbase> enable 'guru99'
Tabeli kustutamiseks tuleb see keelata.ping kustutab tabeli ja kõik selle andmed jäädavalt, seega kasutage seda ettevaatlikult:
hbase> disable 'guru99' hbase> drop 'guru99'
Mitme tabeli korraga eemaldamiseks kustutab drop_all kõik tabelid, mille nimi vastab regulaaravaldisele. Koos hõlmavad loomine, muutmine, keelamine, lubamine ja eemaldamine tabeli kogu elutsüklit. andmete haldamine HBase'i tabelites.







