Domande e risposte per l'intervista di base sull'alveare 2022

Pubblicato: 2021-01-08

Le interviste sui Big Data possono essere condotte su linee generali (in cui è necessario avere un'idea generale sui framework e sugli strumenti dei Big Data popolari) oppure possono essere incentrate su un framework o uno strumento particolare. Oggi ci concentreremo su un framework Big Data ampiamente utilizzato: Apache Hive.

Abbiamo creato questo elenco di domande per interviste ad Apache Hive per aiutarti a farti un'idea migliore sul tipo di domande che i datori di lavoro di solito pongono durante le interviste Hadoop relative ad Hive.

Quindi, se sei una persona che desidera inchiodare l'intervista ad Hive, continua a leggere fino alla fine!

  1. Cos'è Apache Hive?

Apache Hive è un framework di data warehousing basato su Hadoop. Viene utilizzato principalmente per l'analisi di dati strutturati e semi-strutturati. Hive è progettato per proiettare la struttura sui dati ed eseguire query scritte in HQL (Hive Query Language), simile a quella delle istruzioni SQL. Inoltre, il compilatore Hive trasforma queste query in processi di riduzione della mappa.

  1. Che tipo di applicazioni può supportare Hive?

Hive può supportare qualsiasi applicazione scritta in Python, Java, C++, Ruby e PHP.

  1. Cosa intendi per Metastore? Perché Hive non memorizza i metadati in HDFS?

Metastore è un repository in Hive che memorizza le informazioni sui metadati. Lo fa sfruttando RDBMS insieme a un livello ORM (Object Relational Model) open source chiamato Data Nucleus che trasforma la rappresentazione dell'oggetto nello schema relazionale e viceversa.

Hive archivia le informazioni sui metadati utilizzando RDBMS e non HDFS poiché le operazioni di lettura/scrittura tramite HDFS sono un processo che richiede tempo. RDBMS ha un vantaggio su di esso poiché aiuta a ottenere una bassa latenza.

  1. Distinguere tra Metastore locale e remoto.

Un metastore locale viene eseguito nella stessa JVM in cui viene eseguito il servizio Hive. Può connettersi a un database in esecuzione in una JVM separata sulla stessa macchina o su una macchina remota. Al contrario, un metastore remoto viene eseguito in una JVM separata e non in quella in cui viene eseguito il servizio Hive.

  1. Cosa intendi per partizione in Hive? Qual è la sua importanza?

In Hive, le tabelle sono classificate e organizzate in partizioni per organizzare insieme tipi di dati simili, in base a una colonna o a una chiave di partizione. Quindi, una partizione è in realtà una sottodirectory nella directory della tabella. Una tabella può avere più di una chiave di partizione per una particolare partizione.

Attraverso il partizionamento, puoi ottenere la granularità in una tabella Hive. Ciò aiuta a ridurre la latenza della query poiché esegue la scansione solo dei dati partizionati rilevanti anziché dell'intero set di dati.

  1. Che cos'è una variabile Hive?

Una variabile Hive viene creata nell'ambiente Hive sviluppato dai linguaggi di scripting Hive. Utilizzando il comando source, trasferisce i valori alle query hive quando inizia l'esecuzione della query.

  1. Per quale tipo di applicazioni di data warehouse è adatto Hive?

I regolamenti di progettazione di Hadoop e HDFS pongono alcune limitazioni alle capacità di Hive. Inoltre, non ha le funzionalità necessarie richieste per OLTP (Online Transaction Processing). Hive è più adatto per applicazioni di data warehouse in enormi set di dati che richiedono:

  • Analisi dei dati relativamente statici.
  • Meno tempo di risposta.
  • Nessun cambiamento dinamico nei dati.
  1. Che cos'è un indice dell'alveare?

Hive index è un metodo di ottimizzazione delle query Hive. Viene utilizzato per velocizzare l'accesso a una colonna specifica o a un insieme di colonne in un database Hive. Utilizzando un indice Hive, il sistema di database non richiede di leggere tutte le righe in una tabella per trovare i dati scelti.

  1. Perché hai bisogno di Hcatolog?

Hcatalog è necessario per la condivisione di strutture dati con sistemi esterni. Fornisce l'accesso al metastore di Hive, quindi puoi leggere/scrivere dati nel data warehouse di Hive.

  1. Denominare i componenti di un processore di query Hive?

I componenti di un elaboratore di query Hive sono:

  • Piano logico di generazione.
  • Piano fisico di generazione.
  • Motore di esecuzione.
  • UDF e UDAF.
  • Operatori.
  • Ottimizzatore.
  • analizzatore.
  • Analizzatore semantico.
  • Digitare il controllo.
  1. In che modo le tabelle in formato ORC aiutano Hive a migliorare le prestazioni?

Utilizzando il formato file ORC (Optimized Row Columnar), è possibile archiviare i dati Hive in modo efficiente poiché aiuta a semplificare numerose limitazioni del formato file Hive.

  1. Qual è la funzione di Object-Inspector?

In Hive, Object-Inspector aiuta ad analizzare la struttura interna di un oggetto riga e la struttura individuale delle colonne. Inoltre, offre anche modi per accedere a oggetti complessi che possono essere archiviati in diversi formati in memoria.

  1. Qual è la differenza tra Hive e HBase?

I punti chiave di differenziazione tra Hive e HBase sono:

  • Hive è un framework di data warehouse mentre HBase è un database NoSQL.
  • Sebbene Hive possa eseguire la maggior parte delle query SQL, HBase non consente le query SQL.
  • Hive non supporta le operazioni di inserimento, aggiornamento ed eliminazione a livello di record su una tabella, ma HBase supporta queste funzioni.
  • Hive viene eseguito su MapReduce, ma HBase viene eseguito su HDFS.
  1. Che cos'è una tabella gestita e una tabella esterna?

In una tabella gestita, sia le informazioni sui metadati che i dati della tabella vengono eliminati dalla directory di Hive warehouse se si esce da una tabella gestita. Tuttavia, in una tabella esterna, solo le informazioni sui metadati associate alla tabella vengono eliminate mentre i dati della tabella vengono mantenuti nell'HDFS.

  1. Assegna un nome ai diversi componenti di un'architettura Hive.

Ci sono 5 componenti di un'architettura Hive:

  1. Interfaccia utente: consente all'utente di inviare query e altre operazioni al sistema Hive. L'interfaccia utente supporta l'interfaccia utente Web Hive, la riga di comando Hive e Hive HD Insight.
  2. Driver: crea un handle di sessione per le query e quindi invia le query al compilatore per creare un piano di esecuzione per le stesse.
  3. Metastore – Contiene i dati strutturati insieme a tutte le informazioni su diverse tabelle e partizioni nel magazzino (con attributi). Alla ricezione della richiesta di metadati, invia i metadati al compilatore per eseguire le query.
  4. Compilatore: genera il piano di esecuzione per analizzare le query, eseguire analisi semantiche su diversi blocchi di query e generare espressioni di query.
  5. Motore di esecuzione: mentre il compilatore esegue il piano di esecuzione, il motore di esecuzione lo implementa. Gestisce le dipendenze delle varie fasi del piano.

Ovviamente, c'è di più in Hive oltre a queste 15 domande. Questi sono solo i concetti di base che ti aiuteranno a conoscere meglio Hive.

Se sei interessato a saperne di più sui Big Data, dai un'occhiata al nostro PG Diploma in Software Development Specialization nel programma Big Data, progettato per professionisti che lavorano e fornisce oltre 7 casi di studio e progetti, copre 14 linguaggi e strumenti di programmazione, pratiche pratiche workshop, oltre 400 ore di apprendimento rigoroso e assistenza all'inserimento lavorativo con le migliori aziende.

Buon apprendimento!

Guida la rivoluzione tecnologica basata sui dati

Oltre 400 ore di apprendimento. 14 Lingue e strumenti. Stato Alumni IIITB.
Programma di certificazione avanzato in Big Data da IIIT Bangalore