Domande e risposte più comuni sull'intervista HBase [Guida definitiva]

Pubblicato: 2020-09-21

Apache HBase è un'eccellente soluzione per big data per quando si desidera che la propria applicazione esegua il push o il pull di dati in tempo reale. È noto principalmente per il suo schema flessibile e l'alta velocità. Questo articolo mira a darti le risposte ad alcune delle principali domande del colloquio HBase . Gli intervistatori vogliono testare la consapevolezza tecnica e generale dei candidati. Quindi, il tuo sforzo dovrebbe essere quello di comunicare i concetti in modo preciso e completo.

Molte aziende leader utilizzano la tecnologia Hbase in tutto il mondo, tra cui Adobe, HubSpot, Facebook, Twitter, Yahoo! e OpenLogic e StumbleUpon. Per gli aspiranti sviluppatori Web che desiderano creare siti Web scalabili, padroneggiare strumenti come Hadoop e HBase può rivelarsi estremamente utile.

Impara la scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Leggi: Idee per progetti Hadoop

Sommario

Principali domande e risposte sull'intervista HBase

1. Che cos'è HBase?

È un database orientato alle colonne sviluppato dalla Apache Software Foundation. In esecuzione su un cluster Hadoop, HBase viene utilizzato per archiviare dati semistrutturati e non strutturati. Quindi, non ha uno schema rigido come quello di un database relazionale tradizionale. Inoltre, non supporta una struttura di sintassi SQL. HBase archivia e opera sui dati tramite un nodo master che regola i server del cluster e della regione.

2. Quali sono i motivi per utilizzare Hbase?

HBase offre un sistema di archiviazione ad alta capacità e operazioni di lettura e scrittura casuali. Può gestire set di dati di grandi dimensioni, eseguendo diverse operazioni al secondo. Il design distribuito e scalabile orizzontalmente rende HBase una scelta popolare per le applicazioni in tempo reale.

3. Spiegare i componenti chiave di HBase.

Le parti di lavoro di HBase includono Zookeeper, HBase Master, RegionServer, Region e Catalog Tables. Lo scopo di ogni elemento può essere descritto come segue:

  • Coordinate Zookeeper tra il cliente e l'HBase Master
  • HBase Master monitora il RegionServer e si occupa delle funzioni di amministrazione
  • RegionServer supervisiona la regione
  • La regione contiene MemStore e HFile
  • Le tabelle del catalogo comprendono ROOT e META

Fondamentalmente, Hbase consiste in un insieme di tabelle con ogni tabella con righe, colonne e una chiave primaria. È la colonna HBase che denota l'attributo di un oggetto.

4. Quali sono i diversi tipi di comandi operativi in ​​HBase?

Ci sono cinque comandi operativi cruciali in HBase: Get, Delete, Put, Increment e Scan.

Get è usato per leggere la tabella. Eseguito tramite HTable.get, restituisce dati o attributi di una riga specifica dalla tabella. Elimina rimuove le righe da una tabella, mentre Put aggiunge o aggiorna le righe. Incremento abilita le operazioni di incremento su una singola riga. Infine, Scan viene utilizzato per scorrere più righe per determinati attributi.

5. Cosa intendi per WAL e Hlog?

  • WAL sta per Write Ahead Log ed è abbastanza simile al registro BIN in MySQL. Registra tutte le modifiche nei dati.
  • HLog è il file di sequenza in memoria standard di Hadoop che mantiene l'archivio HLogkey.

WAL e HLog fungono da ancora di salvezza in caso di guasto del server e perdita di dati. Se il RegionServer si arresta in modo anomalo o non è disponibile, i file WAL assicurano che le modifiche ai dati possano essere riprodotte.

6. Descrivi alcune situazioni in cui useresti Hbase.

È adatto per utilizzare HBase quando:

  • La dimensione dei tuoi dati è enorme e richiede di operare su milioni di record.
  • Stai implementando una riprogettazione completa e revisionando l'RDBMS convenzionale.
  • Hai le risorse per intraprendere investimenti infrastrutturali nei cluster.
  • Esistono particolari comandi senza SQL, come transazioni, colonne digitate, righe interne, ecc.

7. Cosa intendi per famiglie di colonne e chiavi di riga?

Le famiglie di colonne costituiscono le unità di archiviazione di base in HBase. Questi vengono definiti durante la creazione della tabella e archiviati insieme sul disco, consentendo in seguito l'applicazione di funzionalità come la compressione.

Un tasto riga abilita il raggruppamento logico delle celle. È preceduto dalla chiave combinata, consentendo all'applicazione di definire l'ordinamento. In questo modo tutte le celle con la stessa chiave di riga possono essere salvate sullo stesso server.

8. In cosa differisce HBase da un database relazionale?

HBase è diverso da un database relazionale in quanto è un archivio dati senza schema e orientato a colonne contenente tabelle scarsamente popolate. Un database relazionale è basato su schema, orientato alla riga e archivia i dati normalizzati in tabelle sottili. Inoltre, HBase ha il vantaggio del partizionamento automatizzato, mentre non esiste un tale supporto integrato in RDBMS.

Leggi: DBMS vs. RDBMS: differenza tra DBMS e RDBMS

9. Cosa costituisce una cella in HBase?

Le celle sono le unità più piccole delle tabelle HBase, che contengono i dati sotto forma di tuple. Una tupla è una struttura dati composta da più parti. In HBase, è costituito da {riga, colonna, versione}.

10. Definire la compattazione in HBase.

La compattazione è il processo utilizzato per unire gli HFile in un unico file prima che i vecchi file vengano rimossi dal database.

11. È possibile accedere direttamente a HFile senza utilizzare HBase?

Sì, esiste una tecnica unica per accedere direttamente a HFile senza l'ausilio di HBase. Il metodo HFile.main può essere utilizzato per questo scopo.

12. Discutere l'eliminazione e gli indicatori di lapide in HBase.

In HBase, un normale processo di eliminazione risulta in un indicatore di rimozione definitiva. Le celle eliminate diventano invisibili, ma i dati da esse rappresentati vengono effettivamente rimossi durante la compattazione. HBase dispone di tre tipi di marker per lapide:

  • Indicatore di eliminazione versione: contrassegna una singola versione di una colonna per l'eliminazione
  • Indicatore di eliminazione colonna: contrassegna tutte le versioni di una colonna
  • Indicatore di eliminazione della famiglia: imposta tutte le colonne di una famiglia di colonne per l'eliminazione

In questo caso, è necessario notare che una riga in HBase verrebbe completamente eliminata dopo un'importante compattazione. Pertanto, quando si eliminano e si aggiungono più dati, i Get possono essere mascherati dagli indicatori di rimozione definitiva e i valori inseriti potrebbero non essere visualizzati fino a dopo le compattazioni.

13. Cosa succede quando modifichi la dimensione del blocco di una famiglia di colonne?

Se il tuo database è già occupato e desideri modificare la dimensione del blocco della famiglia di colonne in HBase, i vecchi dati potrebbero rimanere nella dimensione del blocco precedente. Durante la compattazione, i dati vecchi e nuovi si comporteranno in questo modo:

  • I dati esistenti prenderebbero la nuova dimensione del blocco e continuerebbero a essere letti correttamente.
  • I nuovi file avrebbero la nuova dimensione del blocco.

In questo modo, tutti i dati si trasformano nella dimensione del blocco desiderata prima della successiva compattazione importante.

14. Definire le diverse modalità che HBase può eseguire.

HBase può essere eseguito in modalità standalone o in modalità distribuita. Standalone è la modalità predefinita di HBase che utilizza il file system locale anziché HDFS. Per quanto riguarda la modalità distribuita, essa può essere ulteriormente suddivisa in:

  • Modalità pseudodistribuita: tutti i demoni vengono eseguiti su un singolo nodo
  • Modalità completamente distribuita: i demoni vengono eseguiti su tutti i nodi del cluster

15. Come implementeresti i join in HBase?

HBase utilizza i lavori MapReduce per elaborare terabyte di dati in modo scalabile. Non supporta direttamente i join, ma le query di join vengono implementate recuperando i dati dalle tabelle HBase.

Checkout: Domande per l'intervista Hadoop

16. Discutere lo scopo dei filtri in HBase.

I filtri sono stati introdotti in Apache HBase 0.92 per aiutare gli utenti ad accedere a HBase tramite Shell o Thrift. Quindi, si prendono cura delle tue esigenze di filtraggio lato server. Esistono anche filtri decorativi che estendono gli usi dei filtri per ottenere un controllo aggiuntivo sui dati restituiti. Ecco alcuni esempi di filtri in HBase:

  • Filtro Bloom: generalmente utilizzato per le query in tempo reale, è un modo efficiente in termini di spazio per sapere se un file H include una riga o una cella specifica
  • Filtro pagina: accettando la dimensione della pagina come parametro, il filtro pagina può ottimizzare la scansione delle singole regioni H

17. Confronta HBase con (i) Cassandra (ii) Hive.

(i) HBase e Cassandra: sia Cassandra che HBase sono database NoSQL progettati per gestire grandi set di dati. Tuttavia, la sintassi di Cassandra Query Language (CQL ) è modellata su SQL. In entrambi gli archivi dati, la chiave di riga costituisce l'indice primario. Cassandra può creare indici secondari sui valori delle colonne. Pertanto, può migliorare l'accesso ai dati nelle colonne con alti livelli di ripetizione. HBase non dispone di questa disposizione ma ha altri meccanismi per introdurre la funzionalità dell'indice secondario. Questi metodi possono essere facilmente trovati nelle guide di riferimento online.

(ii) HBase e Hive: entrambi sono tecnologie basate su Hadoop. Come discusso in precedenza, HBase è un database chiave/valore NoSQL. D'altra parte, Hive è un motore simile a SQL in grado di eseguire sofisticati processi MapReduce. È possibile eseguire operazioni di lettura e scrittura di dati da Hive a HBase e viceversa. Mentre Hive è più adatto per attività analitiche, HBase è un'ottima soluzione per le query in tempo reale.

Leggi anche: Architettura HBase: tutto ciò che devi sapere

Conclusione

Queste domande e casi d'uso dell'intervista HBase ci portano alla fine di questo articolo. Abbiamo cercato di coprire diversi argomenti per soddisfare i livelli di base, intermedio e avanzato. Quindi, continua a rivedere per fare un'impressione stellare sul tuo reclutatore!

Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al programma Executive PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 -on-1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.

Padroneggia la tecnologia del futuro

RICHIEDI UN PROGRAMMA DI CERTIFICAZIONE AVANZATO NELLA SCIENZA DEI DATI