Qu'est-ce qu'Apache Hive ?
Apache Hive est un système d'entrepôt des données distribué et résistant aux pannes qui permet d’effectuer des analyses à une échelle massive. Un entrepôt des données centralise le stockage des informations qui peuvent ainsi être facilement analysées pour prendre des décisions informées et orientées données. Hive permet aux utilisateurs de lire, d'écrire et de gérer des pétaoctets de données à l'aide de SQL.
Le système repose sur Apache Hadoop, un framework open source utilisé pour stocker et traiter efficacement des jeux de données volumineux. Ainsi, Hive est étroitement intégré à Hadoop et est conçu pour fonctionner rapidement sur des pétaoctets de données. Ce qui rend ce système unique, c'est sa capacité à interroger de grands jeux de données, en utilisant Apache Tez ou MapReduce, avec une interface de type SQL.
Comment fonctionne Hive ?
Hive a été créé pour permettre, à l'aide d'une interface de type SQL appelée HiveQL, aux personnes sans compétences en programmation maîtrisant SQL de travailler avec des pétaoctets de données. Les bases de données relationnelles traditionnelles sont conçues pour des requêtes interactives sur des jeux de données de petite à moyenne taille. Elles ne traitent pas correctement les grands jeux de données. Hive utilise plutôt le traitement par lots afin de fonctionner rapidement sur une très grande base de données distribuée. Le service transforme les requêtes HiveQL en tâches MapReduce ou Tez qui s'exécutent sur le framework de planification de tâches distribué d'Apache Hadoop, Yet Another Resource Negotiator (YARN). Il interroge les données stockées dans une solution de stockage distribué, telle que le système de fichiers distribué Hadoop (HDFS) ou Amazon S3. Hive stocke les métadonnées de sa base de données et de ses tables dans un metastore, qui est un magasin basé sur une base de données ou un fichier qui permet une abstraction et une découverte faciles des données.
Hive inclut HCatalog, une table et une couche de gestion du stockage qui lit les données du metastore Hive afin de faciliter l'intégration transparente entre Hive, Apache Pig et MapReduce. En utilisant le metastore, HCatalog permet à Pig et MapReduce d'utiliser les mêmes structures de données que Hive, de sorte que les métadonnées n'ont pas à être redéfinies pour chaque moteur. Les applications personnalisées ou les intégrations tierces peuvent utiliser WebHCat, une API RESTful permettant à HCatalog d'accéder aux métadonnées Hive et de les réutiliser.
Quels sont les avantages de Hive ?
Rapide
Hive est conçu pour traiter rapidement des pétaoctets de données à l'aide du traitement par lots.
Familier
Hive fournit une interface familière de type SQL accessible aux personnes sans compétences en programmation.
Evolutif
Hive est facile à distribuer et mettre à l'échelle en fonction de vos besoins.
Quelles sont les différences entre Apache Hive et Apache HBase ?
Apache HBase est une base de données distribuée NoSQL qui permet un accès aléatoire, strictement cohérent et en temps réel à des pétaoctets de données. Apache Hive est un système d'entrepôt des données distribué qui fournit des fonctionnalités d'interrogation de type SQL.
Caractéristiques |
Apache Hive |
Apache HBase |
Fonction |
Moteur de requête de type SQL conçu pour les magasins de données à volume élevé. Plusieurs formats de fichiers sont pris en charge. |
Stockage de valeurs-clés distribué à faible latence avec fonctionnalités de requête personnalisées. Les données sont stockées dans un format orienté colonnes. |
Type de traitement |
Traitement par lots à l'aide des frameworks de calcul Apache Tez ou MapReduce. |
Traitement en temps réel. |
Latence |
Moyenne à élevée, en fonction de la réactivité du moteur de calcul. Le modèle d'exécution distribuée offre des performances supérieures à celles des systèmes de requêtes monolithiques, tels que le RDBMS, pour les mêmes volumes de données. |
Faible, mais elle peut être irrégulière. Les limitations structurelles de l'architecture HBase peuvent entraîner des pics de latence en cas de charges d'écriture intenses. |
Intégration à Hadoop |
Fonctionne sur Hadoop, avec Apache Tez ou MapReduce pour le traitement et HDFS ou Amazon S3 pour le stockage. |
Fonctionne sur HDFS ou Amazon S3. |
Prise en charge SQL |
Offre des fonctionnalités de requête de type SQL avec HiveQL. |
Aucune prise en charge SQL. Vous pouvez utiliser Apache Phoenix pour les fonctionnalités SQL. |
Schéma |
Schéma défini pour toutes les tables. |
Sans schéma. |
Types de données |
Prend en charge les données structurées et non structurées. Offre une prise en charge native pour les types de données SQL courants, tels que INT, FLOAT et VARCHAR. |
Prend en charge uniquement les données non structurées. L'utilisateur définit des mappages entre les champs de données et les types de données compatibles avec Java. |
Quels sont les cas d'utilisation de Hive ?
Guardian offre à 27 millions de membres la sécurité qu'ils méritent grâce à des produits et services d'assurance et de gestion de patrimoine. Guardian utilise Amazon EMR pour exécuter Apache Hive sur un lac de données S3. Apache Hive est utilisé pour le traitement par lots. Le lac de données S3 alimente Guardian Direct, une plateforme numérique qui permet aux consommateurs de rechercher et d'acheter à la fois des produits Guardian et des produits tiers dans le secteur de l'assurance.
La FINRA (Financial Industry Regulatory Authority, ou Autorité de règlementation du secteur financier) est le plus grand organisme indépendant de règlementation de titres des États-Unis. Elle est chargée de surveiller et de règlementer les pratiques de transaction financières. La FINRA utilise Amazon EMR pour exécuter Apache Hive sur un lac de données S3. L'exécution de Hive sur les clusters EMR permet à la FINRA de traiter et d'analyser les données transactionnelles de jusqu'à 90 milliards d'événements à l'aide de SQL. Le lac de données cloud a permis de réaliser des économies allant jusqu'à 20 millions de dollars par rapport à la solution sur site de la FINRA, ainsi que de réduire considérablement le temps nécessaire à la restauration et aux mises à niveau.
Vanguard, une société américaine de conseil en investissement, est le plus grand fournisseur de fonds communs de placement et le deuxième plus grand fournisseur de fonds négociés en bourse. Vanguard utilise Amazon EMR pour exécuter Apache Hive sur un lac de données S3. Les données sont stockées dans S3 et EMR crée un metastore Hive à partir de ces données. Le metastore Hive contient toutes les métadonnées relatives aux données et aux tables du cluster EMR, ce qui facilite l'analyse des données. Hive permet également aux analystes d'effectuer des requêtes SQL ad hoc sur les données stockées dans le lac de données S3. La migration vers un lac de données S3 avec Amazon EMR a permis à plus de 150 analystes de données de gagner en efficacité opérationnelle et de réduire les coûts EC2 et EMR de 600 000 dollars.
Comment AWS peut-il prendre en charge Hive ?
Amazon EMR fournit le framework Hadoop géré le plus simple, le plus rapide et le plus rentable, permettant aux clients de traiter de grandes quantités de données sur des instances EC2 dynamiquement évolutives. Les clients peuvent également exécuter d'autres frameworks distribués populaires tels qu'Apache Hive, Spark, HBase, Presto et Flink dans EMR.
En savoir plus sur Amazon EMR
Commencez à utiliser Apache Hive sur AWS en créant un compte AWS gratuit dès aujourd'hui.