Differenza tra alveare e impala

Hive è un progetto software di data warehouse basato su APACHE HADOOP sviluppato dal team di Jeff su Facebook con una versione stabile della 2.3.0 rilasciata. Viene utilizzato per riepilogare i big data e semplifica l'interrogazione e l'analisi. Apache Hive è uno standard efficace per SQL-in Hadoop. Impala è un motore di query SQL a elaborazione parallela che viene eseguito su Apache Hadoop e utilizzato per elaborare i dati archiviati in HBase (database Hadoop) e Hadoop Distributed File System. Impala è un prodotto open source per il motore di query SQL di elaborazione parallela (MPP) per i dati archiviati in un cluster di sistema locale in esecuzione su Apache Hadoop. Apache Hive e Impala sono entrambi parti fondamentali del sistema Hadoop.

Quindi studiamo in dettaglio sia Hive che Impala:

ALVEARE

  • Apache Hive aiuta ad analizzare l'enorme set di dati archiviato nel file system Hadoop (HDFS) e in altri file system compatibili.
  • Hive QL: per l'interrogazione dei dati memorizzati nel cluster Hadoop .
  • Sfrutta la scalabilità di Hadoop per traduzione .
  • Hive NON è un database completo .
  • Non fornisce aggiornamenti a livello di record .
  • Hadoop è un sistema orientato al batch .
  • Le query Hive hanno un'elevata latenza a causa di MapReduce .
  • Hive non offre funzionalità simili a OLAP .
  • Ideale per applicazioni di data warehouse .
  • Esecuzione della query tramite MapReduce .
  • il linguaggio delle query può essere utilizzato con funzioni scalari personalizzate (UDF), aggregazioni (UDAF) e funzioni tabella (UDTF) .
  • Hive fornisce anche l'indicizzazione per accelerare, il tipo di indice che include la compattazione e l'indice bitmap a partire da 0, 10, sono previsti più tipi di indice.
  • I tipi di archiviazione supportati da Hive sono RCfile, HBase, ORC e ​​testo normale .
  • Query simili a SQL (Hive QL), che vengono convertite implicitamente in lavori MapReduce o Tez o Spark .
  • Per impostazione predefinita, Hive archivia i metadati in un database Apache Derby incorporato .

IMPALA

  • Impala è un motore di query che funziona su Hadoop . La distribuzione pubblica dei beta test è stata annunciata nell'ottobre 2012 ed è diventata generalmente disponibile a maggio 2013.
  • Supporta lo storage HDFS Apache HBase e Amazon S3 .
  • Legge i formati di file Hadoop, inclusi file di testo, Parquet, Avro, RCFile, LZO e Sequence .
  • Supporta Hadoop Security (autenticazione Kerberos) .
  • Utilizza metadati, driver ODBC e sintassi SQL da Apache Hive .
  • Supporta più codec di compressione:

(a) Snappy (consigliato per il suo efficace equilibrio tra rapporto di compressione e velocità di decompressione),

(b) Gzip (consigliato quando si raggiunge il massimo livello di compressione),

(c) Deflate (non supportato per i file di testo), Bzip2, LZO (solo per i file di testo);

  • Consente di eseguire query su strutture nidificate tra cui mappe, strutture e matrici.
  • Consente query simultanee multiutente e consente anche il controllo di ammissione sulla base della definizione delle priorità e dell'accodamento delle query.

Confronti testa a testa tra Hive vs Impala (infografica)

Di seguito è riportato il Top 20 confronto tra Hive vs Impala

Differenza chiave tra Hive e Impala

Le differenze tra Hive vs Impala sono spiegate nei punti presentati di seguito:

  • Hive è sviluppato dal team di Jeff su Facebook, ma Impala è sviluppato da Apache Software Foundation .
  • Hive supporta il formato di file in formato ORC (Optimized Row Columnar) con compressione Zlib ma Impala supporta il formato Parquet con compressione rapida .
  • Hive è scritto in Java ma Impala è scritto in C ++.
  • La velocità di elaborazione delle query in Hive è bassa ma Impala è 6-69 volte più veloce di Hive .
  • In Hive la latenza è alta ma in Impala la latenza è bassa .
  • Hive supporta l'archiviazione di file RC e ORC, ma l'impala storage di Impala è Hadoop e Apache HBase .
  • Hive genera l'espressione della query in fase di compilazione ma nella generazione del codice Impala per "grandi loop" si verifica durante il runtime .
  • Hive non supporta l'elaborazione parallela ma Impala supporta l'elaborazione parallela.
  • Hive supporta MapReduce ma Impala non supporta MapReduce .
  • In Hive non esiste alcuna funzione di sicurezza ma Impala supporta l'autenticazione Kerberos .
  • In un aggiornamento di qualsiasi progetto in cui la compatibilità e la velocità sono entrambi importanti Hive è la scelta ideale, ma per un nuovo progetto, Impala è la scelta ideale .
  • L'alveare è tollerante ai guasti ma Impala non supporta la tolleranza ai guasti .
  • Hive supporta tipi complessi ma Impala non supporta tipi complessi .
  • Hive è Hadoop MapReduce basato su batch ma Impala è un database MPP .
  • Hive non supporta il calcolo interattivo ma Impala supporta il calcolo interattivo .
  • La query Hive ha un problema di "avvio a freddo" ma nel processo daemon Impala viene avviato all'avvio stesso .
  • Il gestore risorse dell'alveare è YARN (Yet Another Resource Negotiator) ma in Impala il gestore risorse è nativo * YARN .
  • Le distribuzioni Hive sono tutte distribuzioni Hadoop, Hortonworks (Tez, LLAP) ma nella distribuzione Impala sono Cloudera MapR (* Amazon EMR) .
  • Il pubblico hive è ingegnere dei dati, ma nel pubblico di Impala sono analisti dei dati / scienziati dei dati.
  • Il throughput dell'alveare è alto ma in Impala il throughput è basso .

Tabella comparativa Hive vs Impala

Numero di serie.Base per il confrontoAlveareImpala
1.Sviluppato daFacebookSoftware Apache
Fondazione
2.Formato del file
  • File di sequenza.
  • File di testo.
  • Formato colonnare di riga ottimizzato (ORC) con compressione Zlib.
  • Formato file RC.
  • Formato parquet con compressione scattante.
  • Avro
  • LZO
  • File di sequenza.
3.linguaggioScritto in JAVAScritto in C ++
4.Velocità di elaborazioneL'alveare è lentoImpala è veloce
5.LatenzaaltoBasso
6.Supporto di archiviazioneFile RC, ORCHadoop, Apache HBase
7.Conversione del codiceGenera espressione di query in fase di compilazioneLa generazione del codice avviene in fase di esecuzione.
8.Supporta l'elaborazione parallelaNo
9.Supporto MapReduceNo
10.Hadoop SecurityNoSupporta l'autenticazione Kerberos.
11.usoIdeale per il potenziamento del progettoIdeale per l'avvio di un nuovo progetto.
12.Tollerante agli erroriL'alveare è tollerante ai guasti.Non supporta la tolleranza ai guasti.
13.Tipi complessiHive supporta tipi complessi.Impala non supporta tipi complessi.
14.Tipo di databaseHive è un Hadoop MapReduce basato su batch.È un database MPP
15.Informatica interattivaNon supporta il calcolo interattivo.Supporta il calcolo interattivo.
16.EsecuzioneLa query Hive presenta un problema con "Cold Start"Il processo Impala inizia sempre all'avvio di Daemon.
17.Gestione delle risorseFILATONativo * FILATO
18.distribuzioniHIVE - tutte le distribuzioni Hadoop, Hortonworks (Tez, LLAP)Cloudera MapR,
(* Amazon EMR)
19.PubblicoIngegneri di datiData Analyst / Data Scientists
20.PortataAlta produttivitàBassa produttività

Conclusione - Hive vs Impala

In questo articolo, abbiamo provato a dimostrare che sono due tecnologie: Hive e Impala e anche la differenza di base tra queste tecnologie. In termini pratici, possiamo dire che Hive e Impala non sono i concorrenti che appartengono entrambi allo stesso fondamento che è noto come MapReduce per l'esecuzione delle query, l'utilizzo di entrambi può creare la differenza. In base alle nostre esigenze, possiamo usarlo insieme o il meglio in base alla compatibilità, alle esigenze e alle prestazioni. Il linguaggio di query Hive è Hive QL che è un linguaggio molto versatile e universale mentre Impala è ad alta intensità di memoria e non funziona bene per l'elaborazione di operazioni di dati pesanti, ad esempio query di join. Se nel tuo progetto il lavoro è correlato all'elaborazione batch per una grande quantità di dati, l'hive in quel caso sarà migliore e se il tuo lavoro è correlato al processo in tempo reale di una query ad hoc sui dati, Impala sarà migliore in questo caso.

Articolo raccomandato

Questa è stata una guida per Hive Vs Impala, il loro significato, confronto testa a testa, differenze chiave, tabella di confronto e conclusioni. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Apache Hive vs Apache Spark SQL - 13 Incredibili differenze
  2. Hive VS HUE - I 6 migliori confronti utili da imparare
  3. Apache Pig vs Apache Hive - Le 12 principali differenze utili
  4. Hadoop vs Hive - Scopri le migliori differenze
  5. Utilizzo della funzione ORDER BY in Hive

Categoria: