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 confronto | Alveare | Impala |
1. | Sviluppato da | Software Apache Fondazione |
|
2. | Formato del file |
|
|
3. | linguaggio | Scritto in JAVA | Scritto in C ++ |
4. | Velocità di elaborazione | L'alveare è lento | Impala è veloce |
5. | Latenza | alto | Basso |
6. | Supporto di archiviazione | File RC, ORC | Hadoop, Apache HBase |
7. | Conversione del codice | Genera espressione di query in fase di compilazione | La generazione del codice avviene in fase di esecuzione. |
8. | Supporta l'elaborazione parallela | No | sì |
9. | Supporto MapReduce | sì | No |
10. | Hadoop Security | No | Supporta l'autenticazione Kerberos. |
11. | uso | Ideale per il potenziamento del progetto | Ideale per l'avvio di un nuovo progetto. |
12. | Tollerante agli errori | L'alveare è tollerante ai guasti. | Non supporta la tolleranza ai guasti. |
13. | Tipi complessi | Hive supporta tipi complessi. | Impala non supporta tipi complessi. |
14. | Tipo di database | Hive è un Hadoop MapReduce basato su batch. | È un database MPP |
15. | Informatica interattiva | Non supporta il calcolo interattivo. | Supporta il calcolo interattivo. |
16. | Esecuzione | La query Hive presenta un problema con "Cold Start" | Il processo Impala inizia sempre all'avvio di Daemon. |
17. | Gestione delle risorse | FILATO | Nativo * FILATO |
18. | distribuzioni | HIVE - tutte le distribuzioni Hadoop, Hortonworks (Tez, LLAP) | Cloudera MapR, (* Amazon EMR) |
19. | Pubblico | Ingegneri di dati | Data Analyst / Data Scientists |
20. | Portata | Alta 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ù -
- Apache Hive vs Apache Spark SQL - 13 Incredibili differenze
- Hive VS HUE - I 6 migliori confronti utili da imparare
- Apache Pig vs Apache Hive - Le 12 principali differenze utili
- Hadoop vs Hive - Scopri le migliori differenze
- Utilizzo della funzione ORDER BY in Hive