HBase Stvorite tablicu s Java Primjer API-ja i ljuske
โก Pametni saลพetak
HBase pohranjuje podatke u tablice, a te tablice moลพete kreirati i njima upravljati na dva naฤina: putem Java API s HTableomDescriptili i HBaseAdmin, ili izravno u HBase ljusci pomoฤu naredbe create.

Kako stvoriti tablicu u HBase s Java API
U HBaseu se tablice mogu kreirati na dva naฤina: putem Java API i putem HBase ljuske. Ovaj odjeljak pokriva Java API, koji aplikaciji omoguฤuje stvaranje tablica i programsko uฤitavanje podataka kao dio veฤeg posla.
Kroz Java API, moลพemo kreirati tablice u HBase-u i takoฤer uฤitati podatke u tablice pomoฤu Java kodiranje. Dvije stvari koje smo ovdje postavili su:
- Uspostavljanje veze s HBase putem Java API-ja.
- Koriลกtenje Eclipse za Java kodiranje, otklanjanje pogreลกaka i testiranje.
Slijede koraci za stvaranje tablica u HBase-u Java API-ja.
Korak 1) Stvorite a Java Projekt u Eclipse
U ovom koraku ฤemo stvoriti a Java projekt u Eclipse za HBase vezu, pod nazivom โHbaseConnectionโ.
Novi Java Dijalog projekta u nastavku prikazuje postavljanje projekta "HbaseConnection":
Ako pogledamo gornju snimku zaslona:
- U ovaj okvir unesite naziv projekta. U naลกem sluฤaju, naziv projekta je โHbaseConnectionโ.
- Oznaฤite ovaj okvir za spremanje zadane lokacije. Ovdje je put /home/hduser/work/HbaseConnection.
- Oznaฤite okvir za Java okruลพenje ovdje. U ovom sluฤaju JavaSE-1.7 je Java izdanje.
- Odaberite opciju gdje ลพelite spremiti datoteku. U naลกem sluฤaju odabrali smo drugu opciju, "Stvori zasebnu mapu za izvore i datoteke razreda".
- Kliknite gumb Zavrลกi, ฤime se stvara projekt โHbaseConnectionโ u Eclipse i otvara Eclipse Poฤetna stranica.
Korak 2) Konfigurirajte putanju izgradnje u Eclipse
Na Eclipse Na poฤetnoj stranici slijedite ove korake za otvaranje konfiguracije puta izgradnje:
Right click on project -> Select Build Path -> Configure build path
Snimka zaslona u nastavku prikazuje izbornik desnim klikom koji se koristi za otvaranje konfiguracije putanje izgradnje:
Iz gornje snimke zaslona:
- Desnim klikom miลกa odaberite projekt.
- Odaberite Put izgradnje.
- Odaberite Konfiguriraj putanju izgradnje.
Nakon klika na Konfiguriraj putanju izgradnje, otvara se joลก jedan prozor, prikazan na snimci zaslona u nastavku. Kartica Biblioteke je mjesto gdje se HBase i Hadoop JAR datoteke dodaju u projekt:
U ovom koraku dodajemo relevantne HBase JAR-ove u Java projekt kao ลกto je prikazano na snimci zaslona.
- Vaลพne JAR datoteke koje treba dodati: hbase-0.94.8.jar i hadoop-core-1.1.2.jar.
- Doฤite na karticu Knjiลพnice.
- Pritisnite opciju Dodaj vanjske JAR-ove.
- Odaberite potrebne vaลพne JAR-ove.
- Pritisnite gumb Zavrลกi da biste dodali ove datoteke u "src" mape Java projekt u sklopu Knjiลพnica.
Nakon ลกto su JAR-ovi dodani, pojavljuju se pod lokacijom projekta "src" kao ลกto je prikazano u nastavku:
Sve JAR datoteke koje spadaju u projekt sada su spremne za koriลกtenje s Hadoop ekosustavom.
Korak 3) Uspostavite HBase vezu
U ovom koraku, koriลกtenjem HBaseConnection.java, uspostavlja se HBase veza putem Java kodiranje.
Na Eclipse gornjem izborniku, izvrลกite Java program kao ลกto je prikazano dolje: Pokreni -> Pokreni kao -> Java Aplikacija. Izbornik u nastavku prikazuje program koji se pokreฤe:
- Odaberite Pokreni.
- Odaberite Pokreni kao Java Primjena.
- Ovaj kod uspostavlja vezu s HBaseom putem Java API-ja.
- Nakon pokretanja ovog koda, tablica โguru99โ se kreira u HBaseu s dvije obitelji stupaca pod nazivom โeducationโ i โprojectsโ. Trenutno se u HBaseu kreira samo prazna shema.
Isjeฤak koda u nastavku istiฤe HTableDescriptili i pozive funkcije addFamily koji grade shemu tablice:
Iz gornje snimke zaslona vidimo da izvrลกavamo sljedeฤe funkcije:
- Koriลกtenje HTableDescriptili moลพemo kreirati tablicu โguru99โ u HBaseu.
- Pomoฤu metode addFamily dodajemo "education" i "projects" kao obitelji stupaca u tablicu "guru99".
Donji kod ฤe uspostaviti vezu s HBaseom i stvoriti tablicu โguru99โ s dvije obitelji stupaca. Postavite ovaj kod ispod dokumenta HBaseConnection.java:
// 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......"); } }
Ovo je potreban kod koji morate smjestiti u HBaseConnection.java prije nego ลกto pokrenete Java Program.
Nakon pokretanja ovog programa, on uspostavlja vezu s HBaseom i zauzvrat stvara tablicu s nazivima stupaca.
- Naziv tablice je โguru99โ.
- Obitelji stupaca su โobrazovanjeโ i โprojektiโ.
Korak 4) Provjerite stvorenu tablicu u HBase-u
Moลพemo provjeriti je li tablica โguru99โ kreirana s dvije obitelji stupaca u HBaseu koriลกtenjem HBase shell naฤina rada s naredbom โlistโ. Naredba โlistโ daje informacije o svim tablicama kreiranim u HBaseu.
Pokretanje naredbe list u HBase ljusci potvrฤuje novu tablicu, kao ลกto je prikazano u nastavku:
- Code provjera u HBase ljusci izvrลกavanjem naredbe "list".
- Ako pokrenemo naredbu โlistโ, prikazuje se tablica kreirana u HBaseu. U naลกem sluฤaju moลพemo vidjeti da je kreirana tablica โguru99โ.
HBase Stvaranje tablice s ljuskom
Osim Java API-jem moลพete kreirati tablicu izravno iz HBase ljuske, ลกto je najbrลพi naฤin za postavljanje tablice za brze testove. Sintaksa za kreiranje tablice u HBaseu pomoฤu ljuske je:
Syntax: create <tablename>, <columnfamilyname>
Primjer:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table โ education
Gornji primjer objaลกnjava kako stvoriti tablicu u HBaseu s navedenim nazivom danim prema specifikacijama za svaku obitelj stupaca. Osim toga, u nju moลพemo proslijediti i neke atribute opsega tablice.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Ovdje blok {NAME=>'Edu', VERSIONS=>โฆ} postavlja obitelj stupaca pod nazivom โEduโ i broj verzija ฤelija koje se ฤuvaju. Veliki broj je samo ilustrativan; u praksi, VERSIONS je mala vrijednost poput 3 ili 5.
Popis, opis i provjera HBase tablica
Stvaranje tablice samo je prvi dio rukovanja tablicama u HBaseu. Nakon ลกto tablica "guru99" postoji, nekoliko opฤih naredbi omoguฤuje vam da je pregledate i potvrdite njezino stanje prije nego ลกto ฤitate, piลกete ili mijenjate podatke. Sve ih moลพete pokrenuti iz HBase ljuska.
Naredba list vraฤa svaku korisniฤku tablicu u HBaseu:
hbase> list
Naredba describe prikazuje strukturu tablice, ukljuฤujuฤi njezine obitelji stupaca i je li trenutno omoguฤena:
hbase> describe 'guru99'
Naredba exists provjerava je li tablica prisutna, a is_enabled izvjeลกtava moลพe li tablica prihvatiti upisivanje:
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Ove provjere samo za ฤitanje mogu se sigurno pokrenuti u bilo kojem trenutku. One su najbrลพi naฤin da se potvrdi da je tablica ispravno kreirana i da se pregledaju njezine obitelji stupaca prije uฤitavanja podataka.
Promjena HBase tablice
Shema HBase tablice nije fiksna nakon stvaranja. Naredba alter mijenja obitelji stupaca tablice i atribute opsega tablice bez ponovnog stvaranja. Ovisno o verziji HBasea, moลพda ฤete prvo morati onemoguฤiti tablicu, a zatim pokrenuti naredbu alter i ponovno je omoguฤiti.
Za dodavanje nove obitelji stupaca u tablicu โguru99โ:
hbase> alter 'guru99', {NAME => 'contact'}
Za postavljanje koliko verzija obitelj stupaca ฤuva:
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Za brisanje obitelji stupaca iz tablice:
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
Takoฤer moลพete promijeniti atribute opsega tablice. Na primjer, oznaฤite tablicu samo za ฤitanje ili postavite maksimalnu veliฤinu datoteke regije na 128 MB:
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Buduฤi da naredba alter prepisuje shemu, paลพljivo planirajte promjene na produkcijskoj tablici i naknadno potvrdite rezultat naredbom describe.
Onemoguฤi, omoguฤi i ukloni HBase tablice
Za uklanjanje tablice ili primjenu odreฤenih promjena, HBase zahtijeva da je prvo onemoguฤite. Onemoguฤavanjem se tablica postavlja izvan mreลพe tako da nijedan klijent ne moลพe ฤitati ili pisati u nju, ลกto strukturne promjene ฤini sigurnima.
Onemoguฤite tablicu i provjerite njezino stanje pomoฤu is_disabled:
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Ponovno omoguฤite tablicu za nastavak ฤitanja i pisanja:
hbase> enable 'guru99'
Tablica mora biti onemoguฤena prije nego ลกto se moลพe ukloniti. Ispustiping trajno briลกe tablicu i sve njezine podatke, stoga je koristite s oprezom:
hbase> disable 'guru99' hbase> drop 'guru99'
Za uklanjanje nekoliko tablica odjednom, drop_all briลกe svaku tablicu ฤije se ime podudara s regularnim izrazom. Zajedno, kreiranje, mijenjanje, onemoguฤavanje, omoguฤavanje i brisanje pokrivaju cijeli ลพivotni ciklus rukovanje podacima u HBase tablicama.






