Tutorial Apache Hive Ultimate per principianti: impara Hive da zero

Pubblicato: 2020-03-20

Apache hive è un sistema di data warehouse open source basato su Hadoop. Viene utilizzato per eseguire query e analizzare set di dati di grandi dimensioni archiviati nei file Hadoop. Questo tutorial di Apache Hive ti aiuterà a comprenderne le basi, le caratteristiche e l'utilizzo.

Nell'era digitale, ogni giorno vengono generati circa 2,5 quintilioni di byte di dati. Abbiamo bisogno di tecnologie innovative per contenere questa esplosione di dati. E Hive è uno di questi strumenti che elabora dati strutturati e semi-strutturati nell'ecosistema Hadoop leader del settore. Poiché sempre più datori di lavoro cercano di sfruttare le capacità dei big data, cercano persone esperte con gli strumenti Hadoop. Pertanto, un tutorial Hadoop Hive è una componente essenziale di qualsiasi corso sui big data per principianti.

Sommario

Cos'è l'alveare? Spiega in termini semplici.

Apache Hive consente agli sviluppatori di riepilogare dati, eseguire query e analizzare set di dati di grandi dimensioni. Basato su Hadoop Distributed File System (HDFS), offre più struttura ai dati organizzandoli in tabelle. Inoltre, Hive utilizza il suo linguaggio HiveQL o HQL per eseguire query di tipo SQL sui dati.

Mentre SQL viene eseguito su database tradizionali, HQL può tradurre automaticamente le query in lavori MapReduce. Hive astrae la complessità di Hadoop convertendo le query SQL in una serie di lavori da eseguire sul cluster Hadoop. Quindi, per padroneggiare Apache Hive, è necessaria una familiarità di base con SQL. Ma non è necessario imparare Java.

Proseguendo nel nostro tutorial Apache Hive , discutiamo dei suoi usi negli ambienti di lavoro moderni.

Perché è necessario utilizzare Hive?

I sistemi di database tradizionali non sono attrezzati per gestire la grande quantità di dati generati oggi dalle applicazioni di big data. E Hadoop è un framework che risolve questo problema. Vari strumenti aiutano i moduli Hadoop, Hive è uno di questi. Con Apache Hive, puoi eseguire le seguenti attività:

  • Le tabelle possono essere suddivise in porzioni e in bucket, rendendo possibile l'elaborazione dei dati archiviati nell'Hadoop Distributed File System (HDFS). Le tabelle sono definite direttamente in HDFS
  • I driver JDBC/ODBC sono disponibili per l'integrazione con le tecnologie tradizionali
  • Fornisce flessibilità ed evoluzione dello schema insieme al riepilogo dei dati, facilitando analisi più semplici
  • Ti evita di scrivere complessi lavori Hadoop MapReduce
  • Il concetto di partizione e bucket consente un rapido recupero dei dati
  • Molto facile da imparare e implementare per gli sviluppatori SQL
  • Sistema veloce e scalabile
  • Hive supporta diversi tipi di file, come file di testo, file di sequenza, file RC, file ORF, file Parquet e file AVRO

Quali sono i componenti principali dell'architettura Hive?

1. Interfaccia utente: consente di inviare una query, elaborare le istruzioni e gestirle. L'interfaccia a riga di comando (CLI) e l'interfaccia utente Web consentono agli utenti esterni di connettersi con Hive.

2. Metastore: come suggerisce il nome, il metastore contiene i metadati del database. Contiene informazioni sullo schema e sulla posizione delle tabelle. Memorizza anche i metadati della partizione. Presente sui tradizionali database relazionali, permette di monitorare i dati distribuiti nel cluster. Tiene traccia dei dati, li replica e fornisce backup.

3. Driver: è quella parte del motore di processo che riceve le istruzioni HiveQL. Il driver crea sessioni per eseguire l'istruzione e ne monitora il ciclo di vita. Memorizza anche i metadati generati durante l'esecuzione dell'istruzione.

4. Compilatore: questa parte del motore di processo HiveQL converte la query in input MapReduce, come Abstract Syntax Tree (AST) e Directed Acyclic Graph (DAG)

5. Ottimizzatore: questo componente dell'architettura Hive esegue trasformazioni nel piano di esecuzione per fornire un DAG ottimizzato. Divide i compiti per prestazioni migliori.

6. Esecutore: pianifica o convoglia le attività per completare il processo di esecuzione. Per questo, interagisce con il job tracker Hadoop.

Leggi: Tutorial Hadoop per principianti

Questo tutorial di Apache Hive non può essere completo senza discutere di come questi componenti Hive interagiscono tra loro per eseguire query. Quindi, abbiamo elencato i passaggi di seguito.

Passaggio 1: l'utente inserisce una query nella CLI o nell'interfaccia utente Web, che inoltra la query al conducente.

Passaggio 2: il driver passa la query al compilatore per il controllo. Il compilatore garantisce l'accuratezza della sintassi.

Passaggio 3: il compilatore richiede al Metastore i metadati richiesti per procedere ulteriormente.

Passaggio 4: dopo aver ricevuto i metadati, il compilatore invia nuovamente il piano di esecuzione al driver.

Passaggio 5: il driver inoltra questo piano al motore di esecuzione.

Passaggio 6: il motore di esecuzione esegue le fasi finali. Invia l'attività a JobTracker (nodo Nome) all'interno del modulo MapReduce di Hadoop.

Passaggio 7: JobTracker assegna ulteriormente l'attività al TaskTracker (nodo dati).

Passaggio 8: la query viene eseguita e rinviata all'esecutore.

Passaggio 9: l'esecutore invia i risultati al driver.

Passaggio 10: il driver inoltra i risultati all'interfaccia utente di Hive.

Leggi: Stipendio per sviluppatori Hadoop in India

Cosa sai di Hive Shell?

Hive Shell consente agli utenti di eseguire query HQL. È l'interfaccia della riga di comando di Hive. Puoi eseguire Hive Shell in due modalità:

  • Non interattivo: specificare la posizione del file contenente le query HQL con l'opzione -f. Ad esempio, hive -f mio-script.q
  • Interattivo: vai direttamente a Hive Shell e invia le query manualmente per ottenere il risultato. Ad esempio, $bin/hive, vai alla shell dell'hive

Elenca alcune limitazioni di Hive

  • Offre un supporto limitato per le sottoquery
  • Le query hive hanno una latenza elevata
  • Le viste materializzate non sono consentite in Apache Hive
  • Non fornisce query in tempo reale, aggiornamenti a livello di riga, operazioni di aggiornamento ed eliminazione
  • Apache Hive non è adatto per processi di transizione online o OLTP

Riassumendo

In questo tutorial di Hadoop Hive , abbiamo trattato diversi aspetti di Hive, il suo utilizzo e l'architettura. Abbiamo anche approfondito il suo funzionamento e discusso i suoi limiti. Tutte queste informazioni ti aiuteranno a iniziare il tuo viaggio di apprendimento Hive. Dopotutto, è uno dei framework di big data più utilizzati e affidabili!

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.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Guida la rivoluzione tecnologica basata sui dati

7 Casi di studio e progetti. Assistenza al lavoro con le migliori aziende. Mentore studentesco dedicato.
Programma di certificazione avanzato in Big Data da IIIT Bangalore