Cele mai frecvente întrebări și răspunsuri la interviu HBase [Ghid final]

Publicat: 2020-09-21

Apache HBase este o soluție excelentă de date mari pentru atunci când doriți ca aplicația dvs. să împingă sau să extragă date în timp real. Este cunoscut în principal pentru schema sa flexibilă și viteza mare. Acest articol își propune să vă ofere răspunsurile la unele dintre întrebările de top ale interviului HBase . Intervievatorii doresc să testeze conștientizarea tehnică și generală a candidaților. Deci, efortul tău ar trebui să fie să comunici conceptele precis și minuțios.

Multe companii de top folosesc tehnologia Hbase din întreaga lume, inclusiv Adobe, HubSpot, Facebook, Twitter, Yahoo! și OpenLogic și StumbleUpon. Pentru dezvoltatorii web aspiranți care doresc să construiască site-uri web scalabile, instrumente de stăpânire precum Hadoop și HBase se pot dovedi extrem de utile.

Învață știința datelor de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Citiți: Idei de proiect Hadoop

Cuprins

Cele mai bune întrebări și răspunsuri la interviu HBase

1. Ce este HBase?

Este o bază de date orientată pe coloane dezvoltată de Apache Software Foundation. Rulând deasupra unui cluster Hadoop, HBase este folosit pentru a stoca date semi-structurate și nestructurate. Deci, nu are o schemă rigidă precum cea a unei baze de date relaționale tradiționale. De asemenea, nu acceptă o structură de sintaxă SQL. HBase stochează și operează pe date printr-un nod principal care reglementează serverele de cluster și regiuni.

2. Care sunt motivele pentru a utiliza Hbase?

HBase oferă un sistem de stocare de mare capacitate și operațiuni aleatoare de citire și scriere. Poate gestiona seturi mari de date, efectuând mai multe operații pe secundă. Designul distribuit și scalabil orizontal face din HBase o alegere populară pentru aplicațiile în timp real.

3. Explicați componentele cheie ale HBase.

Părțile de lucru ale HBase includ tabelele Zookeeper, HBase Master, RegionServer, Region și Catalog. Scopul fiecărui element poate fi descris după cum urmează:

  • Zookeeper coordonează între client și HBase Master
  • HBase Master monitorizează RegionServer și are grijă de funcțiile de administrare
  • RegionServer supraveghează regiunea
  • Regiunea conține MemStore și HFile
  • Tabelele de catalog cuprind ROOT și META

Practic, Hbase constă dintr-un set de tabele, fiecare tabel având rânduri, coloane și o cheie primară. Este coloana HBase care denotă atributul unui obiect.

4. Care sunt diferitele tipuri de comenzi operaționale din HBase?

Există cinci comenzi operaționale cruciale în HBase: Obținere, Ștergere, Pune, Creștere și Scanare.

Get este folosit pentru a citi tabelul. Executat prin HTable.get, returnează date sau atribute ale unui anumit rând din tabel. Delete elimină rânduri dintr-un tabel, în timp ce Put adaugă sau actualizează rânduri. Incrementare permite operațiuni de creștere pe un singur rând. În cele din urmă, Scanarea este folosită pentru a repeta pe mai multe rânduri pentru anumite atribute.

5. Ce înțelegeți prin WAL și Hlog?

  • WAL înseamnă Write Ahead Log și este destul de similar cu jurnalul BIN din MySQL. Înregistrează toate modificările datelor.
  • HLog este fișierul standard de secvență în memorie al Hadoop care menține magazinul HLogkey.

WAL și HLog servesc drept linii de salvare în caz de defecțiune a serverului și pierdere de date. Dacă RegionServer se blochează sau devine indisponibil, fișierele WAL se asigură că modificările datelor pot fi redate.

6. Descrieți câteva situații în care ați folosi Hbase.

Este potrivit să se utilizeze HBase atunci când:

  • Dimensiunea datelor dvs. este mare, ceea ce vă impune să operați pe milioane de înregistrări.
  • Implementați o reproiectare completă și o revizuire a RDBMS convențională.
  • Aveți resursele necesare pentru a efectua investiții în infrastructură în clustere.
  • Există anumite comenzi fără SQL, cum ar fi tranzacții, coloane tastate, linii interioare etc.

7. Ce înțelegeți prin familii de coloane și chei de rând?

Familiile de coloane constituie unitățile de stocare de bază în HBase. Acestea sunt definite în timpul creării tabelului și stocate împreună pe disc, permițând ulterior aplicarea de caracteristici precum compresia.

O cheie de rând permite gruparea logică a celulelor. Este prefixat cheii combinate, permițând aplicației să definească ordinea de sortare. În acest fel, toate celulele cu aceeași cheie de rând pot fi salvate pe același server.

8. Cum diferă HBase de o bază de date relațională?

HBase este diferit de o bază de date relațională deoarece este un depozit de date fără schemă, orientat pe coloane, care conține tabele slab populate. O bază de date relațională este bazată pe schemă, este orientată pe rând și stochează date normalizate în tabele subțiri. Mai mult, HBase are avantajul partiționării automate, în timp ce nu există un astfel de suport încorporat în RDBMS.

Citiți: DBMS vs. RDBMS: Diferența dintre DBMS și RDBMS

9. Ce constituie o celulă în HBază?

Celulele sunt cele mai mici unități ale tabelelor HBază, deținând datele sub formă de tupluri. Un tuplu este o structură de date care are mai multe părți. În HBase, este format din {rând, coloană, versiune}.

10. Definiți compactarea în HBază.

Compactarea este procesul folosit pentru a îmbina fișierele HF într-un singur fișier înainte ca fișierele vechi să fie eliminate din baza de date.

11. Puteți accesa HFile direct fără a utiliza HBase?

Da, există o tehnică unică pentru a accesa HFile direct fără ajutorul HBase. Metoda HFile.main poate fi folosită în acest scop.

12. Discutați despre ștergerea și marcatorii de pietre funerare în HBase.

În HBase, un proces normal de ștergere are ca rezultat un marker de piatră funerară. Celulele șterse devin invizibile, dar datele reprezentate de ele sunt de fapt eliminate în timpul compactării. HBase are trei tipuri de markeri pentru pietre funerare:

  • Marcator de ștergere a versiunii: marchează o singură versiune a unei coloane pentru ștergere
  • Marcator de ștergere a coloanei: marchează toate versiunile unei coloane
  • Marcator de ștergere a familiei: setează toate coloanele unei familii de coloane pentru ștergere

Aici, trebuie remarcat faptul că un rând din HBase ar fi șters în întregime după compactare majoră. Prin urmare, atunci când ștergeți și adăugați mai multe date, Gets-urile pot fi mascate de marcatori de pietre funerare și este posibil să nu vedeți valorile inserate decât după compactări.

13. Ce se întâmplă când modificați dimensiunea blocului unei familii de coloane?

Dacă baza de date este deja ocupată și doriți să modificați dimensiunea blocului familiei de coloane în HBase, datele vechi pot rămâne în dimensiunea blocului vechi. În timpul compactării, datele vechi și noi s-ar comporta astfel:

  • Datele existente vor lua noua dimensiune de bloc și vor continua să fie citite corect.
  • Fișierele noi ar avea noua dimensiune de bloc.

În acest fel, toate datele se transformă la dimensiunea dorită a blocului înainte de următoarea compactare majoră.

14. Definiți diferitele moduri pe care le poate rula HBase.

HBase poate rula fie în modul independent, fie în modul distribuit. Standalone este modul implicit al HBase care utilizează sistemul de fișiere local în loc de HDFS. În ceea ce privește modul distribuit, acesta poate fi subdivizat în continuare:

  • Modul pseudo-distribuit: Toți demonii rulează pe un singur nod
  • Modul complet distribuit: Daemonii rulează pe toate nodurile din cluster

15. Cum ați implementa join-urile în HBase?

HBase utilizează joburi MapReduce pentru a procesa terabytes de date într-un mod scalabil. Nu acceptă direct îmbinări, dar interogările de îmbinare sunt implementate prin preluarea datelor din tabelele HBase.

Checkout: Întrebări de interviu Hadoop

16. Discutați scopul filtrelor în HBase.

Filtrele au fost introduse în Apache HBase 0.92 pentru a ajuta utilizatorii să acceseze HBase prin Shell sau Thrift. Deci, ei se ocupă de nevoile dvs. de filtrare pe partea serverului. Există, de asemenea, filtre decorative care extind utilizările filtrelor pentru a obține un control suplimentar asupra datelor returnate. Iată câteva exemple de filtre în HBase:

  • Filtru Bloom: utilizat de obicei pentru interogări în timp real, este o modalitate eficientă din punct de vedere al spațiului de a ști dacă un HFile include un anumit rând sau celulă
  • Filtru de pagină: acceptând dimensiunea paginii ca parametru, filtrul de pagină poate optimiza scanarea regiunilor HR individuale

17. Comparați HBase cu (i) Cassandra (ii) Stup.

(i) HBase și Cassandra: Atât Cassandra, cât și HBase sunt baze de date NoSQL concepute pentru a gestiona seturi mari de date. Cu toate acestea, sintaxa Cassandra Query Language (CQL ) este modelată după SQL. În ambele depozite de date, cheia rând formează indexul primar. Cassandra poate crea indici secundari pe valorile coloanei. Prin urmare, poate îmbunătăți accesul la date în coloanele cu niveluri ridicate de repetare. HBase nu are această prevedere, dar are alte mecanisme pentru a aduce funcționalitatea indexului secundar. Aceste metode pot fi găsite cu ușurință în ghidurile de referință online.

(ii) HBase și Hive: ambele sunt tehnologii bazate pe Hadoop. După cum sa discutat mai sus, HBase este o bază de date cheie/valoare NoSQL. Pe de altă parte, Hive este un motor asemănător SQL capabil să ruleze joburi MapReduce sofisticate. Puteți efectua operațiuni de citire și scriere a datelor de la Hive la HBase și invers. În timp ce Hive este mai potrivit pentru sarcini analitice, HBase este o soluție excelentă pentru interogări în timp real.

Citiți și: Arhitectura HBase: tot ceea ce trebuie să știți

Concluzie

Aceste întrebări de interviu și cazuri de utilizare HBase ne duc la sfârșitul acestui articol. Am încercat să acoperim diferite subiecte pentru a răspunde nivelurilor de bază, intermediare și avansate. Așadar, continuați să revizuiți pentru a face o impresie excelentă recrutorului dvs.!

Dacă sunteți curios să aflați despre știința datelor, consultați programul Executive PG în știința datelor de la IIIT-B și upGrad, care este creat pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1 -on-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.

Stăpânește Tehnologia Viitorului

APLICAȚI PENTRU PROGRAMUL DE CERTIFICAT AVANSAT ÎN DATA SCIENCE