Le 30 principali domande dell'intervista su Hbase e amp; Risposte

Anonim

Scarica il pdf

Di seguito sono riportate le domande frequenti nelle interviste per matricole e sviluppatore HBase esperto.

1) Spiegare cos'è Hbase?

Hbase è un sistema di gestione di database orientato alle colonne che funziona su HDFS (Hadoop Distribute File System). Hbase non è un archivio dati relazionale e non supporta un linguaggio di query strutturato come SQL.

In Hbase, un nodo master regola i server del cluster e della regione per memorizzare parti delle tabelle e gestisce il lavoro sui dati.

2) Spiega perché usare Hbase?

  • Sistema di archiviazione ad alta capacità
  • Design distribuito per soddisfare tavoli di grandi dimensioni
  • Archivi orientati a colonne
  • Scalabile orizzontalmente
  • Prestazioni e disponibilità elevate
  • L'obiettivo di base di Hbase è milioni di colonne, migliaia di versioni e miliardi di righe
  • A differenza di HDFS (Hadoop Distribute File System), supporta operazioni CRUD casuali in tempo reale

3) Indica quali sono i componenti chiave di Hbase?

  • Zookeeper: svolge il lavoro di coordinamento tra il cliente e Hbase Maser
  • Hbase Master: Hbase Master monitora il server regionale
  • RegionServer: RegionServer monitora la regione
  • Regione: contiene nell'archivio dati di memoria (MemStore) e Hfile.
  • Tabelle del catalogo: le tabelle del catalogo sono costituite da ROOT e META

4) Spiegare in cosa consiste Hbase?

  • Hbase è costituito da una serie di tabelle
  • E ogni tabella contiene righe e colonne come il database tradizionale
  • Ogni tabella deve contenere un elemento definito come chiave primaria
  • La colonna Hbase denota un attributo di un oggetto

5) Indica quanti comandi operativi in ​​Hbase?

Il comando operativo in Hbase è di circa cinque tipi

  • Ottenere
  • Mettere
  • Elimina
  • Scansione
  • Incremento

6) Spiegare cosa sono WAL e Hlog in Hbase?

WAL (Write Ahead Log) è simile al registro BIN di MySQL; registra tutte le modifiche che si verificano nei dati. È un file di sequenza standard di Hadoop e memorizza HLogkey. Queste chiavi sono costituite da un numero sequenziale e da dati effettivi e vengono utilizzate per riprodurre i dati non ancora persistenti dopo un arresto anomalo del server. Quindi, in contanti in caso di guasto del server, WAL funziona come una linea di vita e recupera i dati persi.

7) Quando dovresti usare Hbase?

  • La dimensione dei dati è enorme: quando hai tonnellate e milioni di record da gestire
  • Riprogettazione completa: quando si sposta RDBMS su Hbase, lo si considera come una riprogettazione completa, quindi si limita a cambiare le porte
  • Comandi senza SQL: hai diverse funzionalità come le transazioni; join interni, colonne digitate, ecc.
  • Investimento nell'infrastruttura : è necessario disporre di un cluster sufficiente affinché Hbase sia davvero utile

8) In Hbase cosa sono le famiglie di colonne?

Le famiglie di colonne costituiscono l'unità di base della memoria fisica in Hbase a cui vengono applicate funzioni come le compressioni.

9) Spiega qual è la chiave di riga?

La chiave di riga è definita dall'applicazione. Poiché la chiave combinata è prefissata dalla chiave di riga, consente all'applicazione di definire l'ordinamento desiderato. Consente inoltre il raggruppamento logico delle celle e assicura che tutte le celle con la stessa chiave di riga siano collocate nello stesso server.

10) Spiegare la cancellazione in Hbase? Menziona quali sono i tre tipi di contrassegni per lapidi in Hbase?

Quando si elimina la cella in Hbase, i dati non vengono effettivamente eliminati ma viene impostato un indicatore di rimozione definitiva, rendendo invisibili le celle eliminate. Le basi eliminate vengono effettivamente rimosse durante le compattazioni.

Esistono tre tipi di contrassegni per lapidi:

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

11) Spiega come Hbase cancella effettivamente una riga?

In Hbase, qualunque cosa tu scriva verrà memorizzata dalla RAM al disco, queste scritture su disco sono immutabili salvo la compattazione. Durante il processo di eliminazione in Hbase, il processo di compattazione principale elimina il marker mentre le compattazioni minori no. Nelle normali eliminazioni, risulta in un contrassegno di eliminazione tombstone: questi dati eliminati che rappresentano vengono rimossi durante la compattazione.

Inoltre, se elimini i dati e aggiungi più dati, ma con un timestamp precedente rispetto al timestamp della lapide, ulteriori Gets potrebbero essere mascherati dal marker di eliminazione / rimozione definitiva e quindi non riceverai il valore inserito fino a dopo la compattazione principale.

12) Spiegare cosa succede se si modifica la dimensione del blocco di una famiglia di colonne su un database già occupato?

Quando si modifica la dimensione del blocco della famiglia di colonne, i nuovi dati occupano la nuova dimensione del blocco mentre i vecchi dati rimangono all'interno della vecchia dimensione del blocco. Durante la compattazione dei dati, i vecchi dati assumeranno la nuova dimensione del blocco. I nuovi file man mano che vengono scaricati, hanno una nuova dimensione del blocco mentre i dati esistenti continueranno a essere letti correttamente. Tutti i dati dovrebbero essere trasformati nella nuova dimensione del blocco, dopo la successiva compattazione principale.

13) Menzionate la differenza tra Hbase e Relational Database?

Hbase Database relazionale
  • È senza schema
  • È un archivio dati orientato alle colonne
  • Viene utilizzato per memorizzare dati denormalizzati
  • Contiene tabelle scarsamente popolate
  • Il partizionamento automatico viene eseguito in Hbase
  • È un database basato su schema
  • È un archivio dati orientato alle righe
  • Viene utilizzato per memorizzare dati normalizzati
  • Contiene tabelle sottili
  • Non esiste tale disposizione o supporto integrato per il partizionamento

14) Cos'è la classe HBaseFsck?

C'è un nome di strumento richiamato è disponibile in HBase, che è implementato dalla classe HBaseFsck. Offre diverse opzioni della riga di comando che ne influenzano il comportamento.

15) Quali sono le principali strutture chiave di HBase?

La chiave di riga e la chiave di colonna sono le due strutture chiave più importanti utilizzate in HBase

16) Discuti su come puoi usare i filtri in Apache HBase

Filtri in HBase Shell. È stato introdotto in Apache HBase 0.92 che ti aiuta a condurre il filtraggio lato server per accedere a HBase su shell HBase o parsimonia.

17) HBase supporta la struttura della sintassi come SQL sì o no?

No, sfortunatamente, il supporto SQL per HBase non è attualmente disponibile. Tuttavia, utilizzando Apache Phoenix, possiamo recuperare i dati da HBase tramite query SQL.

18) Qual è il significato della compattazione in HBase?

Al momento di pesanti scritture in entrata, è impossibile ottenere prestazioni ottimali avendo un file per archivio. HBase ti aiuta a combinare tutti questi HFile per ridurre il numero di seed del disco per ogni lettura. Questo processo è noto come compattazione in HBase.

19) Come implementerai i join in HBase?

HBase, non supporta i join direttamente ma utilizza MapReduce, le query di join dei lavori possono essere implementate recuperando i dati con l'aiuto di diverse tabelle HBase.

20) Spiegare JMX riguardo all'HBSE

Java Management Extensions o JMX è uno stato di esportazione delle applicazioni Java è lo standard per loro.

21) A cosa serve MasterServer?

Il server principale ti aiuta anche ad assegnare una regione al server della regione. Ti aiuta anche a gestire il bilanciamento del carico che usiamo MasterServer.

22) Definisci il termine parsimonia

Apache Thrift è scritto in C ++. Fornisce compilatori di schemi per vari linguaggi di programmazione come C ++, Perl, PHP, Python, Ruby e altri.

23) Perché usare la classe HColumnDescriptor?

I dettagli relativi alla famiglia di colonne come le impostazioni di compressione, Numero di versioni, sono memorizzati. In HColumnDescriptor.

24) Cos'è una cellula in HBase?

Una cella in HBase è l'unità più piccola di una tabella Hbase. Ti aiuta a conservare un pezzo di dati sotto forma di una tupla {riga, colonna, versione}

25) Cos'è un filtro Bloom?

HBase supporta Bloom Filter che ti aiuta a migliorare la velocità effettiva complessiva del cluster. Un HBase Bloom Filter è un meccanismo efficiente in termini di spazio per verificare se un HFile include determinate celle di riga o riga-colonna.

26) Parlami dei tipi di operazioni HBase?

Ans. Due tipi di operazioni HBase sono:

  • Leggi operazione
  • Scrivi operazione

27) A cosa serve HBase HMaster?

Le principali responsabilità di un master sono:

  1. Coordinare i server della regione
  2. Funzioni di amministrazione

28) Quale tecnica puoi usare in HBase per accedere direttamente a HFile senza l'aiuto di HBase?

Per accedere direttamente a HFile senza utilizzare HBase, utilizziamo il metodo HFile.main ().

29) Il server della regione si troverà su tutti i DataNode?

Sì, i server regionali vengono eseguiti sugli stessi server dei DataNodes

30) Assegnare un nome al filtro che accetta la dimensione della pagina come parametro in HBase

Un filtro denominato PageFilter accetta la dimensione della pagina come parametro.

Questo documento è stato composto con gli strumenti di conversione HTML istantanea.