Différence Entre Hive vs Impala
Hive est un projet de logiciel d’entrepôt de données construit sur APACHE HADOOP développé par l’équipe de Jeff chez Facebook avec une version stable actuelle de 2.3.0 publiée. Il est utilisé pour résumer le Big Data et facilite l’interrogation et l’analyse. Apache Hive est un standard efficace pour SQL- dans Hadoop. Impala est un moteur de requête SQL à traitement parallèle qui fonctionne sur Apache Hadoop et qui permet de traiter les données stockées dans HBase (Base de données Hadoop) et le système de fichiers distribué Hadoop. Impala est un moteur de requête SQL open source pour le traitement parallèle (MPP) pour les données stockées dans un cluster système local fonctionnant sur Apache Hadoop. Apache Hive et Impala sont tous deux des éléments clés du système Hadoop.
Étudions donc à la fois la Ruche et l’Impala en détail:
Commencez Votre Cours Gratuit de Science des Données
Hadoop, Science des Données, Statistiques&autres
HIVE
- Apache Hive aide à analyser l’énorme ensemble de données stocké dans le système de fichiers Hadoop (HDFS) et d’autres systèmes de fichiers compatibles.
- Hive QL – Pour interroger les données stockées dans le cluster Hadoop.
- Exploite l’évolutivité de Hadoop par traduction.
- Hive n’est PAS une base de données complète.
- Il ne fournit pas de mises à jour au niveau des enregistrements.
- Hadoop est un système orienté Lot.
- Les requêtes Hive ont une latence élevée due à MapReduce.
- Hive ne fournit pas de fonctionnalités proches de l’OLAP.
- Mieux adapté aux applications d’entrepôt de données.
- Exécution de la requête via MapReduce.le langage de requête
- peut être utilisé avec des fonctions scalaires personnalisées (UDF), des agrégations (UDAF) et des fonctions de table (UDTF).
- Hive fournit également l’indexation pour accélérer, le type d’index comprenant le compactage et l’index bitmap à partir de 0,10, d’autres types d’index sont prévus.
- Les types de stockage pris en charge par Hive sont RCfile, HBase, ORC et Texte brut.
- Requêtes de type SQL (Hive QL), qui sont implicitement converties en travaux MapReduce ou Tez, ou Spark.
- Par défaut, Hive stocke les métadonnées dans une base de données Apache Derby intégrée.
IMPALA
- Impala est un moteur de requête qui fonctionne sur Hadoop. La distribution des tests bêta publics a été annoncée en octobre 2012 et est devenue généralement disponible en mai 2013.
- Il prend en charge le stockage HDFS Apache HBase et Amazon S3.
- Lit les formats de fichiers Hadoop, y compris text, Parquet, Avro, RCFile, LZO et le fichier de séquence.
- Prend en charge la sécurité Hadoop (authentification Kerberos).
- Utilise les métadonnées, le pilote ODBC et la syntaxe SQL d’Apache Hive.
- Il prend en charge plusieurs codecs de compression:
(a) Snappy (Recommandé pour son équilibre efficace entre le taux de compression et la vitesse de décompression),
(b) Gzip (Recommandé pour atteindre le plus haut niveau de compression),
(c) Deflate (non pris en charge pour les fichiers texte), Bzip2, LZO (pour les fichiers texte uniquement);
- Il vous permet d’interroger des structures imbriquées, y compris des cartes, des structures et des tableaux.
- Il permet des requêtes simultanées multi-utilisateurs et permet également un contrôle d’admission sur la base de la priorisation et de la mise en file d’attente des requêtes.
Comparaisons en tête à tête Entre Hive et Impala (Infographie)
Voici le Top 20 des Comparaisons entre Hive et Impala:
Différence clé Entre Hive et Impala
Les différences entre Hive et Impala sont expliquées dans les points présentés ci-dessous:
- Hive est développé par Jeff l’équipe de Facebook mais Impala est développée par Apache Software Foundation.
- Hive prend en charge le format de fichier au format ORC (Optimized row columnar) avec la compression Zlib, mais Impala prend en charge le format Parquet avec une compression rapide.
- Hive est écrit en Java mais Impala est écrit en C++.
- La vitesse de traitement des requêtes dans Hive est lente mais Impala est 6 à 69 fois plus rapide que Hive.
- Dans Hive, la latence est élevée mais dans Impala, la latence est faible.
- Hive prend en charge le stockage des fichiers RC et ORC, mais le stockage Impala prend en charge Hadoop et Apache HBase.
- Hive génère une expression de requête au moment de la compilation, mais dans Impala, la génération de code pour les ‘grandes boucles » se produit pendant l’exécution.
- Hive ne prend pas en charge le traitement parallèle, mais Impala prend en charge le traitement parallèle.
- Hive prend en charge MapReduce mais Impala ne prend pas en charge MapReduce.
- Dans Hive, il n’y a pas de fonctionnalité de sécurité mais Impala prend en charge l’authentification Kerberos.
- Dans une mise à niveau de tout projet où la compatibilité et la vitesse sont toutes deux importantes, Hive est un choix idéal, mais pour un nouveau projet, Impala est le choix idéal.
- Hive est tolérant aux pannes, mais Impala ne prend pas en charge la tolérance aux pannes.
- Hive prend en charge le type complexe mais Impala ne prend pas en charge les types complexes.
- Hive est une base de données Hadoop MapReduce basée sur des lots mais Impala est une base de données MPP.
- Hive ne prend pas en charge l’informatique interactive, mais Impala prend en charge l’informatique interactive.
- La requête Hive a un problème de « démarrage à froid » mais dans le processus démon Impala, les processus sont démarrés au moment du démarrage lui-même.
- Hive Resource manager est YARN (Encore un autre négociateur de ressources) mais dans Impala Resource manager est native *YARN.
- Les distributions Hive sont toutes des distributions Hadoop, Hortonworks (Tez, LLAP) mais dans la distribution Impala sont Cloudera MapR (* Amazon EMR).
- Le public de Hive est des ingénieurs de données, mais dans le public d’Impala, il est des Analystes de données / scientifiques de données.
- Le débit de la ruche est élevé mais dans Impala, le débit est faible.
Tableau de comparaison de la ruche et de l’Impala
La comparaison principale entre la ruche et l’Impala est discutée ci-dessous.
Numéro de série. | Basis For Comparison | Hive | Impala |
Developed By | Apache Software Foundation |
||
File Format |
|
|
|
Language | Written in JAVA | Written in C++ | |
Processing Speed | Hive is Slow | Impala is Fast | |
Latency | High | Low | |
Storage Support | RC file, ORC | Hadoop, Apache HBase | |
Code Conversion | Generates query expression at compile time | Code generation happens at runtime. | |
Supports Parallel Processing | No | Yes | |
MapReduce Support | Yes | No | |
Hadoop Security | No | Supports Kerberos Authentication. | |
Usage | Ideal for project up-gradation | Ideal for starting New Project. | |
Fault-Tolerant | Hive is Fault Tolerant. | Does not Supports Fault tolerance. | |
Complex Types | Hive supports complex types. | Impala does not support complex types. | |
Database Type | Hive is a batch-based Hadoop MapReduce. | It is MPP database | |
Interactive Computing | Does not support Interactive computing. | Supports Interactive Computing. | |
Execution | Hive query has a problem with « Cold Start » | Impala process always starts at the Boot-time of Daemons. | |
Resource Management | YARN | Native *YARN | |
Distributions | HIVE – all Hadoop Distributions, Hortonworks (Tez, LLAP) | Cloudera MapR, (*Amazon EMR) |
|
Audience | Data Engineers | Data Analyste / Data Scientists | |
Débit | Débit élevé | Débit faible |
Conclusion
Dans cet article, nous avons essayé de montrer que les deux technologies à savoir Hive vs Impala sont et aussi la différence fondamentale entre ces technologies. En termes pratiques, nous pouvons dire que Hive et Impala ne sont pas les concurrents, ils appartiennent tous les deux à la même fondation connue sous le nom de MapReduce pour exécuter les requêtes, l’utilisation des deux peut créer la différence. Selon notre besoin, nous pouvons l’utiliser ensemble ou le meilleur en fonction de la compatibilité, des besoins et des performances. Le langage de requête Hive est Hive QL, un langage très polyvalent et universel, tandis qu’Impala consomme beaucoup de mémoire et ne fonctionne pas bien pour le traitement d’opérations de données lourdes, par exemple des requêtes de jointure. Si dans votre projet, le travail est lié au traitement par lots pour une grande quantité de données, la Ruche sera meilleure dans ce cas et si votre travail est lié au processus en temps réel d’une requête ad hoc sur les données, Impala sera meilleur dans ce cas.
Articles recommandés
Ceci a été un guide pour Hive vs Impala. Ici, nous avons discuté de la comparaison en tête à tête de Hive vs Impala, des différences clés, ainsi que des infographies et du tableau de comparaison. Vous pouvez également consulter les articles suivants pour en savoir plus –
- Apache Hive vs Apache Spark SQL – 13 Différences étonnantes
- Hive VS HUE – Top 6 Comparaisons utiles À Apprendre
- Apache Pig vs Apache Hive – Top 12 Différences utiles
- Hadoop vs Hive – Découvrez Les Meilleures Différences
- Utilisation de L’ORDRE PAR Fonction dans Hive
- Guide Complet de la base de données Impala