Che cos'è un alveare?

Apache Hive è un sistema di data warehouse progettato sulla piattaforma Hadoop open source e viene utilizzato per il riepilogo dei dati, la query di dati di grandi dimensioni, l'analisi dei dati, ecc.

L'alveare è stato sviluppato da Facebook e in un secondo momento è stato rilevato da Apache Software Foundation che lo ha ulteriormente sviluppato come open source con il nome Apache Hive.

Definizione:

Non è un database relazionale ed è per questo che non è adatto per l'elaborazione delle transazioni online e le query in tempo reale con aggiornamenti a livello di riga. Hive è progettato per l'elaborazione analitica online o OLAP. Fornisce inoltre un linguaggio di query chiamato HiveQL. È scalabile, veloce ed estensibile. Converte le query che assomigliano quasi a SQL in lavori MapReduce per una facile esecuzione ed elaborazione di una grande quantità di dati. Apache hive è uno dei componenti di Hadoop che vengono normalmente utilizzati dagli analisti di dati, mentre Apache Pig viene utilizzato anche per lo stesso compito, ma è più utilizzato da ricercatori e programmatori. Apache hive essendo un sistema di data warehousing open source viene utilizzato per interrogare e analizzare enormi set di dati archiviati nell'archiviazione Hadoop. Hive è più adatto per lavori batch e non per tipi di lavoro di elaborazione transazionale online. Inoltre non supporta query in tempo reale. Hive utilizza un linguaggio di query simile a SQL e viene utilizzato principalmente per la creazione di report. Hive è generalmente distribuito sul lato server e supporta dati strutturati. Hive supporta anche l'integrazione con gli strumenti JDBC e BI.

Capire l'alveare:

Di seguito sono riportati i principali componenti dell'alveare:

Meta Store:

Il repository che memorizza i metadati è chiamato meta store hive. I metadati sono costituiti da diversi dati sulle tabelle come posizione, schema, informazioni sulle partizioni che aiutano a monitorare l'avanzamento dei dati distribuiti in modo diverso nel cluster. Tiene inoltre traccia dei dati e replica i dati che forniscono un backup in caso di emergenze come la perdita di dati. Le informazioni sui metadati sono presenti nei database relazionali e non nel file system Hadoop.

autista:

All'esecuzione dell'istruzione del linguaggio di query Hive, il driver riceve l'istruzione e la controlla per l'intero ciclo di esecuzione. Insieme all'esecuzione dell'istruzione, il driver memorizza anche i metadati generati dall'esecuzione. Crea anche sessioni per monitorare l'avanzamento e il ciclo di vita di diverse esecuzioni. Dopo il completamento dell'operazione di riduzione da parte del lavoro MapReduce, il driver raccoglie tutti i dati e i risultati della query

Compiler:

Viene utilizzato per tradurre il linguaggio di query Hive nell'input MapReduce. Richiama un metodo che esegue i passaggi e le attività necessari per leggere l'output HiveQL come richiesto da MapReduce.

Optimizer:

Il compito principale dell'ottimizzatore è migliorare l'efficienza e la scalabilità creando un'attività mentre si trasformano i dati prima dell'operazione di riduzione. Esegue anche trasformazioni come aggregazione, conversione della pipeline mediante un singolo join per più join.

Esecutore:

Dopo la fase di compilazione e ottimizzazione, l'attività principale dell'esecutore è eseguire le attività. Il compito principale dell'esecutore è di interagire con il job tracker di Hadoop per la pianificazione delle attività pronte per l'esecuzione.

UI, server dell'usato e CLI:

Il server dell'usato viene utilizzato da altri client per interagire con il motore Hive. L'interfaccia utente e l'interfaccia della riga di comando aiutano a inviare le query, nonché il monitoraggio del processo e le istruzioni in modo che gli utenti esterni possano interagire con l'hive.

Di seguito sono riportati i passaggi che mostrano l'interazione dell'alveare con il framework Hadoop:

Esecuzione della query:

La query viene inviata al driver da interfacce hive come la riga di comando o l'interfaccia utente Web. Un driver può essere qualsiasi driver di database come JDB o ODBC, ecc.

Ottenere il piano:

La sintassi per il requisito della query o del piano di query può essere verificata con l'aiuto di un compilatore di query che passa attraverso la query e viene richiamato dal driver.

Ottenere i metadati:

Il meta store può risiedere in qualsiasi database e il compilatore invia una richiesta per accedere ai metadati.

Invio dei metadati:

Su richiesta del compilatore, il meta store invia i metadati.

Invio del piano:

Il compilatore invia il piano al driver al momento della verifica dei requisiti inviati dal compilatore. Questo passaggio completa l'analisi e la compilazione di una query.

Esecuzione del piano:

Il piano di esecuzione viene inviato al motore di esecuzione dal conducente.

Esecuzione del lavoro:

Un'esecuzione del lavoro è un lavoro MapReduce che viene eseguito nel back-end. Quindi segue la normale convenzione del framework Hadoop: il motore di esecuzione invierà un lavoro al tracker lavori che risiede sul nodo nome e il nodo nome, a sua volta, assegnerà il lavoro al tracker attività che si trova nella nota dati. Il lavoro MapReduce viene eseguito qui.

Operazioni sui metadati:

Durante l'esecuzione del lavoro, il motore di esecuzione può eseguire operazioni sui metadati con il meta store.

Recupero del risultato:

I nodi di dati dopo il completamento dell'elaborazione trasmettono il risultato al motore di esecuzione.

Invio del risultato

Il driver riceve il risultato dal motore di esecuzione.

Invio del risultato:

Infine, le interfacce Hive ricevono il risultato dal driver.

Pertanto, eseguendo i passaggi precedenti, ha luogo un'esecuzione completa della query in Hive.

In che modo Hive rende il lavoro così facile?

Hive è un framework di data warehousing basato su Hadoop che aiuta l'utente a eseguire analisi dei dati, interrogazioni sui dati e riepilogo dei dati su grandi volumi di set di dati. HiveQL è una funzione unica che assomiglia ai dati SQL memorizzati nel database ed esegue un'analisi approfondita. Sono stato in grado di leggere i dati a una velocità molto elevata e di scrivere i dati nei data warehouse, nonché di gestire set di dati di grandi dimensioni distribuiti su più posizioni. Insieme a questo hive fornisce anche struttura ai dati archiviati nel database e gli utenti sono in grado di connettersi a hive utilizzando lo strumento da riga di comando o il driver JDBC.

Principali aziende:

Le principali organizzazioni che lavorano con i big data hanno utilizzato l'hive - come Facebook, Amazon, Walmart e molti altri.

Cosa puoi fare con Hive?

Ci sono molte funzionalità dell'alveare come query di dati, riepilogo dei dati e analisi dei dati. Hive supporta un linguaggio di query chiamato HiveQL o Hive Query Language. Le query del linguaggio di query Hive vengono tradotte nel processo MapReduce che viene elaborato sul cluster Hadoop. Oltre a questo, Hiveql riduce anche gli script che possono essere aggiunti alle query. In questo modo, HiveQL aumenta la flessibilità di progettazione dello schema che supporta anche la deserializzazione e la serializzazione dei dati.

Lavorare con Hive:

Di seguito sono riportati alcuni dettagli operativi in ​​Hive. I tipi di dati Hive sono ampiamente classificati in quattro tipi come indicato di seguito:

  • Tipi di colonne
  • letterali
  • Valori null
  • Tipi complessi

1. Tipi di colonne:

Questi sono i tipi di dati di colonna dell'alveare. Questi sono classificati come di seguito:

  • Tipi integrali: i dati interi sono rappresentati utilizzando il tipo di dati integrale. Il simbolo è INT. A tutti i dati che superano il limite superiore di INT deve essere assegnato il tipo di dati di BIGINT. Allo stesso modo, tutti i dati al di sotto del limite inferiore di INT devono essere assegnati a SMALLINT. Esiste un altro tipo di dati chiamato TINYINT che è persino più piccolo di SMALLINT.
  • Tipi di stringa: il tipo di dati stringa è rappresentato nell'hive da una virgoletta singola (') o virgolette doppie (“). Può essere di due tipi: VARCHAR o CHAR.
  • Timestamp: il timestamp Hive supporta java.sql. Formato del timestamp "aaaa-mm-gg hh: mm: ss.ffffffffff" e formato "AAAA-MM-GG HH: MM: SS.fffffffff".
  • Data: la data è rappresentata nell'alveare nel formato AAAA-MM-GG che rappresenta l'anno-mese-giorno.
  • Decimali : i decimali in un alveare sono rappresentati nel grande formato decimale java e vengono utilizzati per rappresentare una precisione arbitraria immutabile. È rappresentato nel formato Decimale (precisione, scala).
  • Tipi di unione: l' unione viene utilizzata nell'alveare per creare una raccolta di un tipo di dati eterogeneo. Può essere creato usando creare un'unione.

Di seguito è riportato un esempio:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Letterali:

Ci sono pochi letterali usati nell'alveare. Sono come di seguito:

  • Tipo a virgola mobile : sono rappresentati come numeri con un punto decimale. Questi sono abbastanza simili al doppio tipo di dati.
  • Tipo decimale : questo tipo di dati contiene solo dati di tipo decimale, ma con un intervallo di valori in virgola mobile più elevato rispetto al doppio tipo di dati. L'intervallo del tipo decimale è approssimativo da -10 -308 a 10 308.

3. Valore nullo:

Il valore speciale NULL rappresenta i valori mancanti nell'hive.

4. Tipi complessi:

Di seguito sono riportati i diversi tipi complessi trovati nell'alveare:

  • Matrici : le matrici sono rappresentate in un alveare nella stessa forma di java. La sintassi è come ARRAY.
  • Mappe : le mappe sono rappresentate nell'alveare nella stessa forma di java. La sintassi è come MAP
  • .
  • Strutture : le strutture nell'alveare sono rappresentate come dati complessi con commenti. La sintassi è come STRUCT.

Oltre a tutto ciò, possiamo creare database, tabelle, partizionarli e molte altre funzioni.

  • Database: sono gli spazi dei nomi che contengono una raccolta di tabelle. Di seguito è la sintassi per creare un database in un alveare.

CREATE DATABASE (IF NOT EXISTS) sampled;

I database possono anche essere eliminati se non più necessari. Di seguito è la sintassi per eliminare un database.

DROP DATABASE (IF EXISTS) sampled;

  • Tabelle: possono anche essere create nell'alveare per memorizzare i dati. Di seguito è la sintassi per la creazione di una tabella.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

Una tabella può anche essere eliminata se non è più necessaria. Di seguito è la sintassi per eliminare una tabella.

DROP TABLE (IF EXISTS) table_name;

vantaggi

Il vantaggio principale di Apache Hive è la query, il riepilogo e l'analisi dei dati. Hive è progettato per una migliore produttività dello sviluppatore e comporta anche il costo di aumentare la latenza e ridurre l'efficienza. Apache Hive offre un'ampia gamma di funzioni definite dall'utente che possono essere interconnesse con altri pacchetti Hadoop come RHipe, Apache Mahout, ecc. Aiuta gli sviluppatori in larga misura quando lavorano con elaborazioni analitiche complesse e formati di dati multipli. Viene utilizzato principalmente per il data warehousing, ovvero un sistema utilizzato per la reportistica e l'analisi dei dati.

Implica la pulizia, la trasformazione e la modellizzazione dei dati per fornire informazioni utili su vari aspetti aziendali che aiuteranno a produrre un vantaggio per un'organizzazione. L'analisi dei dati presenta molti aspetti e approcci diversi che comprendono tecniche diverse con una varietà di nomi in diversi modelli di business, domini di scienze sociali, ecc. Hive è molto intuitivo e consente agli utenti di accedere simultaneamente ai dati aumentando i tempi di risposta. Rispetto all'altro tipo di query su enormi set di dati, il tempo di risposta dell'alveare è molto più veloce di altri. È anche molto flessibile in termini di prestazioni quando si aggiungono più dati e aumentando il numero di nodi nel cluster.

Perché dovremmo usare l'alveare?

Insieme all'hive di analisi dei dati offre una vasta gamma di opzioni per archiviare i dati in HDFS. Hive supporta diversi file system come file flat o file di testo, file di sequenza costituiti da coppie binarie chiave-valore, file RC che memorizzano la colonna di una tabella in un database colonnare. Al giorno d'oggi il file più adatto con Hive è noto come file ORC o file colonnari di riga ottimizzati.

Perché abbiamo bisogno dell'alveare?

Nel mondo di oggi Hadoop è associato alle tecnologie più diffuse che vengono utilizzate per l'elaborazione dei big data. La ricca raccolta di strumenti e tecnologie utilizzati per l'analisi dei dati e l'elaborazione di altri dati di grandi dimensioni.

Chi è il pubblico giusto per l'apprendimento delle tecnologie Hive?

Principalmente le persone che hanno un background come sviluppatori, analisi di Hadoop, amministratori di sistema, data warehousing, SQL professional e amministrazione di Hadoop possono padroneggiare l'hive.

In che modo questa tecnologia ti aiuterà nella crescita della carriera?

Oggi Hive è una delle competenze di spicco sul mercato ed è uno dei migliori strumenti per l'analisi dei dati nel mondo dei big data di Hadoop. Le grandi aziende che eseguono analisi su grandi set di dati sono sempre alla ricerca di persone con i diritti delle competenze in modo da poter gestire e interrogare enormi volumi di dati. Hive è uno dei migliori strumenti disponibili sul mercato nelle tecnologie di big data nei giorni scorsi che può aiutare un'organizzazione in tutto il mondo per la loro analisi dei dati.

Conclusione:

Oltre alle funzioni sopra indicate, l'alveare ha capacità molto più avanzate. La potenza di hive di elaborare un gran numero di set di dati con grande precisione rende hive uno dei migliori strumenti utilizzati per l'analisi nella piattaforma di big data. Inoltre, ha anche un grande potenziale per emergere come uno dei principali strumenti di analisi dei big data nei prossimi giorni grazie al miglioramento periodico e alla facilità d'uso per l'utente finale.

Articoli consigliati

Questa è stata una guida a What is Hive. Qui abbiamo discusso del lavoro, delle competenze, della crescita della carriera, dei vantaggi di Hive e delle migliori aziende che implementano questa tecnologia. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Comandi alveare
  2. Interviste sull'alveare
  3. Che cos'è Azure?
  4. Che cos'è la tecnologia dei Big Data?
  5. Hive Architecture | Definizione
  6. Utilizzo della funzione ORDER BY in Hive

Categoria: