Vidéo: Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Hadoop | Simplilearn 2024
Lorsque vous examinez les éléments d'Apache Hive, vous pouvez voir en bas que Hive se trouve au-dessus du système de fichiers distribué Hadoop (HDFS) et les systèmes MapReduce.
Dans le cas de MapReduce, les figures illustrent les composants Hadoop 1 et Hadoop 2. Avec Hadoop 1, les requêtes Hive sont converties en code MapReduce et exécutées à l'aide de l'infrastructure MapReduce v1 (MRv1), comme JobTracker et TaskTracker.
Avec Hadoop 2, YARN a découplé la gestion des ressources et la planification de l'infrastructure MapReduce. Les requêtes Hive peuvent toujours être converties en code MapReduce et exécutées, maintenant avec MapReduce v2 (MRv2) et l'infrastructure YARN.
Il existe un nouveau framework en cours de développement appelé Apache Tez, conçu pour améliorer les performances de Hive pour les requêtes de type batch et prendre en charge des requêtes interactives plus petites (également appelées temps réel ). Au moment de la rédaction, le projet Apache Tez est toujours en incubation et ne dispose pas encore d'une version prête pour la production.
Si cela vous aide à visualiser comment toutes les pièces s'emboîtent, pensez aux systèmes HDFS et MapReduce comme faisant partie du système d'exploitation Apache Hadoop, avec Hive - ainsi que d'autres composants, tels que HBase - en tant que fonctions ou applications de niveau supérieur. (Vous pouvez voir un thème commun émerger: HDFS fournit le stockage et MapReduce fournit la capacité de traitement parallèle pour les fonctions de niveau supérieur dans l'écosystème Hadoop.)
En remontant le diagramme, vous trouvez le pilote Hive, qui compile, optimise et exécute le HiveQL. Le pilote Hive peut choisir d'exécuter des instructions et des commandes HiveQL localement ou de générer un travail MapReduce, en fonction de la tâche en cours. Le pilote Hive stocke les métadonnées de table dans le métastore et sa base de données.
Vous connaissez probablement le langage SQL et le modèle de base de données relationnelle du monde des SGBDR. Une table ou relation est composée de colonnes verticales et de rangées horizontales. Les cellules sont stockées là où les lignes et les colonnes se croisent. Si vous n'êtes pas familier avec SQL et le modèle de base de données relationnelle, vous pouvez trouver des sources d'apprentissage utiles en utilisant votre moteur de recherche préféré.
Par défaut, Hive inclut le SGBDR Apache Derby configuré avec le métastore dans ce qu'on appelle le mode intégré. Le mode Embedded signifie que le pilote Hive, le métastore et Apache Derby s'exécutent tous dans une machine virtuelle Java (JVM).
Cette configuration convient parfaitement pour l'apprentissage, mais le mode intégré ne peut prendre en charge qu'une seule session Hive. Il n'est donc normalement pas utilisé dans les environnements de production multi-utilisateurs.Deux autres modes existent - local et distant - qui peuvent mieux prendre en charge plusieurs sessions Hive dans des environnements de production. En outre, vous pouvez configurer n'importe quel SGBDR compatible avec la suite d'API (Application Programming Interface) Java Database Connectivity (JDBC). (Les exemples incluent MySQL et DB2.)
La clé de la prise en charge des applications est le Hive Thrift Server, qui permet à un ensemble de clients riches d'accéder au sous-système Hive. Le client SQL SQuirreL open source est inclus à titre d'exemple. Le point principal est que n'importe quelle application compatible JDBC peut accéder à Hive via le pilote JDBC fourni.
La même déclaration s'applique aux clients compatibles avec ODBC (Open Database Connectivity) - par exemple, unixODBC et l'utilitaire isql, qui sont généralement fournis avec Linux, permettent d'accéder à Hive à partir de clients Linux distants.
En outre, si vous utilisez Microsoft Excel, vous serez heureux de savoir que vous pouvez accéder à Hive après avoir installé le pilote Microsoft ODBC sur votre système client. Enfin, si vous avez besoin d'accéder à Hive à partir de langages de programmation autres que Java (PHP ou Python, par exemple), Apache Thrift est la réponse. Les clients Apache Thrift se connectent à Hive via le serveur Hive Thrift, tout comme les clients JDBC et ODBC.
Pour continuer avec le dessin d'architecture Hive, notez que Hive inclut une interface de ligne de commande (CLI), dans laquelle vous pouvez utiliser une fenêtre de terminal Linux pour émettre des requêtes et des commandes d'administration directement au pilote Hive. Si une approche graphique est plus votre vitesse, il y a aussi une interface web pratique pour que vous puissiez accéder à vos tables et données gérées par Hive via votre navigateur préféré.
Il existe une autre technologie de navigateur Web connue sous le nom de Hue qui fournit une interface utilisateur graphique (GUI) à Apache Hive. Certains utilisateurs de Hadoop préfèrent avoir une interface graphique à la place d'une simple interface de ligne de commande (CLI). Avec Hive, Hue prend en charge d'autres technologies Hadoop clés telles que HDFS, MapReduce / YARN, HBase, Zookeeper, Oozie, Pig et Sqoop. Vous aimerez le nom de l'interface graphique Apache Hive de Hue - ça s'appelle Beeswax.