HBase Creați tabel cu Java Exemplu API și Shell
⚡ Rezumat inteligent
HBase stochează datele în tabele, iar aceste tabele pot fi create și gestionate în două moduri: prin intermediul Java API cu HTableDescriptsau și HBaseAdmin, sau direct în shell-ul HBase folosind comanda create.

Cum se creează un tabel în HBase cu Java API
În HBase, tabelele pot fi create în două moduri: prin intermediul Java API și prin shell-ul HBase. Această secțiune acoperă Java API, care permite unei aplicații să creeze tabele și să încarce date programatic ca parte a unui job mai amplu.
Prin Java API, putem crea tabele în HBase și, de asemenea, putem încărca date în tabele folosind Java codare. Cele două lucruri pe care le-am configurat aici sunt:
- Stabilirea unei conexiuni cu HBase prin Java API-ul.
- Utilizarea Eclipse pentru Java codare, depanare și testare.
Următorii sunt pașii pentru a crea tabele în HBase prin Java API-ul.
Pasul 1) Creați un Java Proiect în Eclipse
În acest pas, vom crea un Java proiect in Eclipse pentru conexiunea HBase, numită „HbaseConnection”.
Noua Java Caseta de dialog a proiectului de mai jos arată configurarea proiectului „HbaseConnection”:
Dacă observăm captura de ecran de mai sus:
- Scrieți numele proiectului în această casetă. În cazul nostru, numele proiectului este „HbaseConnection”.
- Bifați această casetă pentru locația implicită în care va fi salvată. Aici /home/hduser/work/HbaseConnection este calea.
- Bifați caseta pentru Java mediu aici. În acest caz JavaSE-1.7 este Java Ediție.
- Alegeți opțiunea pentru locul în care doriți să salvați fișierul. În cazul nostru, am selectat a doua opțiune, „Creați un folder separat pentru fișierele sursă și de clasă”.
- Faceți clic pe butonul Finish, care creează proiectul „HbaseConnection” în Eclipse și deschide Eclipse pagina de acasă.
Pasul 2) Configurați calea de compilare în Eclipse
Pe Eclipse pagina principală, urmați acești pași pentru a deschide configurația căii de compilare:
Right click on project -> Select Build Path -> Configure build path
Captura de ecran de mai jos prezintă meniul care se deschide cu clic dreapta pentru a deschide configurația căii de compilare:
Din captura de ecran de mai sus:
- Faceți clic dreapta pe un proiect.
- Selectați Build Cale.
- Selectați Configurați calea de compilare.
După ce faceți clic pe Configure Build Path (Configurare cale de compilare), se deschide o altă fereastră, așa cum se arată în captura de ecran de mai jos. Fila Libraries (Biblioteci) este locul unde fișierele JAR HBase și Hadoop sunt adăugate la proiect:
În acest pas, adăugăm fișierele JAR HBase relevante în Java proiect așa cum se arată în captură de ecran.
- Fișiere JAR importante care trebuie adăugate: hbase-0.94.8.jar și hadoop-core-1.1.2.jar.
- Accesați secțiunea Biblioteci.
- Apăsați opțiunea Adăugare JAR-uri externe.
- Selectați fișierele JAR importante necesare.
- Apăsați butonul Finish pentru a adăuga aceste fișiere la „src”-ul fișierului. Java proiect în cadrul Bibliotecilor.
După ce fișierele JAR sunt adăugate, acestea apar sub locația „src” a proiectului, așa cum se arată mai jos:
Toate fișierele JAR care intră sub incidența proiectului sunt acum gata de utilizare în ecosistemul Hadoop.
Pasul 3) Stabiliți conexiunea HBase
În acest pas, folosind HBaseConnection.java, conexiunea HBase este stabilită prin Java codare.
Pe Eclipse meniul de sus, executați a Java program așa cum se arată mai jos: Run -> Run As -> Java Aplicație. Meniul de mai jos arată programul care se lansează:
- Selectați Run.
- Selectați Executare ca Java Aplicație.
- Acest cod stabilește o conexiune cu HBase prin Java API-ul.
- După rularea acestui cod, tabelul „guru99” este creat în HBase cu două familii de coloane numite „education” și „projects”. În prezent, în HBase este creată doar schema goală.
Extrasul de cod de mai jos evidențiază HTableDescriptsau și apeluri addFamily care construiesc schema tabelului:
Din captura de ecran de mai sus, îndeplinim următoarele funcții:
- Folosind HTableDescriptsau putem crea tabelul „guru99” în HBase.
- Folosind metoda addFamily, adăugăm „education” și „projects” ca familii de coloane în tabelul „guru99”.
Codul de mai jos va stabili o conexiune cu HBase și va crea tabelul „guru99” cu două familii de coloane. Plasați acest cod sub documentul 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......"); } }
Acesta este codul necesar pe care trebuie să îl plasați în HBaseConnection.java înainte de a rula Java programul.
După rularea acestui program, acesta stabilește o conexiune cu HBase și, la rândul său, creează un tabel cu nume de coloane.
- Numele tabelului este „guru99”.
- Familiile de coloane sunt „educație” și „proiecte”.
Pasul 4) Verificați tabelul creat în HBase
Putem verifica dacă tabelul „guru99” este creat cu două familii de coloane în HBase utilizând modul shell HBase cu comanda „list”. Comanda „list” oferă informații despre toate tabelele create în HBase.
Rularea comenzii list în shell-ul HBase confirmă noul tabel, așa cum se arată mai jos:
- Code verificarea în shell-ul HBase prin executarea comenzii „list”.
- Dacă rulăm comanda „list”, aceasta afișează tabelul creat în HBase. În cazul nostru, putem vedea că tabelul „guru99” este creat.
HBase Creați tabel cu Shell
În afară de Java API, puteți crea un tabel direct din shell-ul HBase, aceasta fiind cea mai rapidă metodă de a configura un tabel pentru teste rapide. Sintaxa pentru a crea un tabel în HBase folosind shell-ul este:
Syntax: create <tablename>, <columnfamilyname>
Exemplu:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
Exemplul de mai sus explică modul de creare a unui tabel în HBase cu numele specificat, conform specificațiilor pentru fiecare familie de coloane. În plus, putem transmite și unele atribute de tip tabel.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Aici, blocul {NAME=>'Edu', VERSIONS=>…} setează o familie de coloane numită „Edu” și numărul de versiuni de celule pe care le păstrează. Numărul mare este doar ilustrativ; în practică, VERSIONS este o valoare mică, cum ar fi 3 sau 5.
Listarea, descrierea și verificarea tabelelor HBase
Crearea unui tabel este doar prima parte a gestionării tabelelor în HBase. Odată ce tabelul „guru99” există, câteva comenzi generale vă permit să îl inspectați și să îi confirmați starea înainte de a citi, scrie sau modifica date. Le puteți rula pe toate din Carcasa HBase.
Comanda list returnează fiecare tabel de utilizatori din HBase:
hbase> list
Comanda describe arată structura unui tabel, inclusiv familiile de coloane și dacă este activată în prezent:
hbase> describe 'guru99'
Comanda `exists` verifică dacă există un tabel, iar `is_enabled` raportează dacă tabelul poate accepta scrieri:
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Aceste verificări doar în citire pot fi executate în siguranță în orice moment. Sunt cea mai rapidă modalitate de a confirma că un tabel a fost creat corect și de a revizui familiile de coloane ale acestuia înainte de a încărca datele.
Modificarea unui tabel HBase
O schemă de tabel HBase nu este fixă după creare. Comanda alter modifică familiile de coloane și atributele de domeniu ale unui tabel fără a-l recrea. În funcție de versiunea HBase, poate fi necesar să dezactivați mai întâi tabelul, apoi să rulați alter și să îl activați din nou.
Pentru a adăuga o nouă familie de coloane în tabelul „guru99”:
hbase> alter 'guru99', {NAME => 'contact'}
Pentru a seta câte versiuni păstrează o familie de coloane:
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Pentru a șterge o familie de coloane din tabel:
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
De asemenea, puteți modifica atributele domeniului de aplicare al tabelului. De exemplu, marcați tabelul ca fiind doar pentru citire sau setați dimensiunea maximă a fișierului regiunii la 128 MB:
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Deoarece alter rescrie schema, planificați modificările cu atenție pe un tabel de producție și confirmați rezultatul ulterior cu describe.
Dezactivarea, activarea și eliminarea tabelelor HBase
Pentru a elimina un tabel sau a aplica anumite modificări, HBase necesită mai întâi dezactivarea acestuia. Dezactivarea pune tabelul offline, astfel încât niciun client nu poate citi sau scrie în el, ceea ce face ca modificările structurale să fie sigure.
Dezactivați un tabel și verificați starea acestuia cu is_disabled:
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Activați din nou tabelul pentru a relua citirile și scrierile:
hbase> enable 'guru99'
Un tabel trebuie dezactivat înainte de a putea fi șters.ping șterge definitiv tabelul și toate datele sale, așa că folosiți-l cu grijă:
hbase> disable 'guru99' hbase> drop 'guru99'
Pentru a elimina mai multe tabele simultan, drop_all șterge fiecare tabel al cărui nume se potrivește cu o expresie regulată. Împreună, funcțiile de creare, modificare, dezactivare, activare și eliminare acoperă întregul ciclu de viață al manipularea datelor în tabelele HBase.






