Didacticiel Apache Hive Ultimate pour les débutants : Apprenez Hive à partir de zéro

Publié: 2020-03-20

Apache Hive est un système d'entrepôt de données open source construit sur Hadoop. Il est utilisé pour interroger et analyser de grands ensembles de données stockés dans des fichiers Hadoop. Ce didacticiel Apache Hive vous aidera à comprendre ses bases, ses caractéristiques et son utilisation.

À l'ère numérique, environ 2,5 quintillions d'octets de données sont générés chaque jour. Nous avons besoin de technologies innovantes pour contenir cette explosion de données. Et Hive est l'un de ces outils qui traite des données structurées et semi-structurées dans l'écosystème Hadoop, leader du secteur. Alors que de plus en plus d'employeurs cherchent à tirer parti des capacités du Big Data, ils recherchent des personnes qui connaissent bien les outils Hadoop. Par conséquent, un didacticiel Hadoop Hive est un élément essentiel de tout cours de Big Data pour débutants.

Table des matières

Qu'est-ce que la ruche ? Expliquez en termes simples.

Apache Hive permet aux développeurs de résumer les données, d'exécuter des requêtes et d'analyser de grands ensembles de données. Construit au-dessus du système de fichiers distribués Hadoop (HDFS), il apporte plus de structure aux données en les organisant en tables. En outre, Hive utilise son langage HiveQL ou HQL pour effectuer des requêtes de type SQL sur les données.

Alors que SQL est exécuté sur des bases de données traditionnelles, HQL peut traduire automatiquement les requêtes en travaux MapReduce. Hive résume la complexité de Hadoop en convertissant les requêtes SQL en une série de tâches à exécuter sur le cluster Hadoop. Ainsi, pour maîtriser Apache Hive, vous avez besoin d'une connaissance de base de SQL. Mais il n'est pas nécessaire d'apprendre Java.

Passant à notre didacticiel Apache Hive , discutons de ses utilisations dans les environnements de travail modernes.

Pourquoi avez-vous besoin d'utiliser Hive ?

Les systèmes de bases de données traditionnels ne sont pas équipés pour gérer la grande quantité de données générées par les applications Big Data aujourd'hui. Et Hadoop est un framework qui résout ce problème. Divers outils aident les modules Hadoop, Hive étant l'un d'entre eux. Avec Apache Hive, vous pouvez effectuer les tâches suivantes :

  • Les tables peuvent être fractionnées et regroupées, ce qui permet de traiter les données stockées dans le système de fichiers distribués Hadoop (HDFS). Les tables sont définies directement dans HDFS
  • Les pilotes JDBC/ODBC sont disponibles pour une intégration avec les technologies traditionnelles
  • Fournit la flexibilité et l'évolution du schéma ainsi que la synthèse des données, facilitant ainsi les analyses
  • Vous évite d'écrire des tâches Hadoop MapReduce complexes
  • Le concept de partition et de compartiment permet une récupération rapide des données
  • Très facile à apprendre et à mettre en œuvre pour les développeurs SQL
  • Système rapide et évolutif
  • Hive prend en charge différents types de fichiers, tels que le fichier texte, le fichier de séquence, le fichier RC, le fichier ORF, le fichier Parquet et le fichier AVRO

Quels sont les principaux composants de l'architecture Hive ?

1. Interface utilisateur : permet de soumettre une requête, de traiter les instructions et de les gérer. L'interface de ligne de commande (CLI) et l'interface utilisateur Web permettent aux utilisateurs externes de se connecter à Hive.

2. Metastore : Comme son nom l'indique, le metastore contient les métadonnées de la base de données. Il contient des informations sur le schéma et l'emplacement des tables. Il stocke également les métadonnées de la partition. Présent sur la base de données relationnelle traditionnelle, il permet de surveiller les données distribuées dans le cluster. Il suit les données, les réplique et fournit une sauvegarde.

3. Pilote : c'est la partie du moteur de processus qui reçoit les instructions HiveQL. Le pilote crée des sessions pour exécuter l'instruction et surveille son cycle de vie. Il stocke également les métadonnées générées lors de l'exécution de l'instruction.

4. Compilateur : cette partie du moteur de processus HiveQL convertit la requête en entrées MapReduce, telles que Abstract Syntax Tree (AST) et Directed Acyclic Graph (DAG)

5. Optimizer : ce composant de l'architecture Hive effectue des transformations dans le plan d'exécution pour fournir un DAG optimisé. Il divise les tâches pour de meilleures performances.

6. Executor : Il planifie ou canalise les tâches pour terminer le processus d'exécution. Pour cela, il interagit avec le job tracker Hadoop.

Lire : Didacticiel Hadoop pour les débutants

Ce didacticiel Apache Hive ne peut être complet sans expliquer comment ces composants Hive interagissent les uns avec les autres pour effectuer des requêtes. Nous avons donc répertorié les étapes ci-dessous.

Étape 1 : L'utilisateur saisit une requête dans l'interface de ligne de commande ou l'interface utilisateur Web, qui transmet la requête au pilote.

Étape 2 : Le pilote transmet la requête au compilateur pour vérification. Le compilateur assure l'exactitude de la syntaxe.

Étape 3 : Le compilateur demande au Metastore les métadonnées requises afin de continuer.

Étape 4 : Après avoir reçu les métadonnées, le compilateur renvoie le plan d'exécution au pilote.

Étape 5 : Le pilote transmet ce plan au moteur d'exécution.

Etape 6 : Le moteur d'exécution effectue les dernières étapes. Il envoie la tâche au JobTracker (nœud Name) dans le module MapReduce de Hadoop.

Étape 7 : Le JobTracker assigne ensuite la tâche au TaskTracker (nœud de données).

Étape 8 : La requête est exécutée et renvoyée à l'exécuteur.

Étape 9 : L'exécuteur envoie les résultats au conducteur.

Étape 10 : Le pilote transmet les résultats à l'interface utilisateur de Hive.

Lire : Salaire d'un développeur Hadoop en Inde

Que savez-vous de Hive Shell ?

Hive Shell permet aux utilisateurs d'exécuter des requêtes HQL. Il s'agit de l'interface de ligne de commande de Hive. Vous pouvez exécuter Hive Shell en deux modes :

  • Non interactif : spécifiez l'emplacement du fichier contenant les requêtes HQL avec l'option -f. Par exemple, hive -f mon-script.q
  • Interactif : accédez directement au Hive Shell et soumettez les requêtes manuellement pour obtenir le résultat. Par exemple, $bin/hive, accédez au shell de la ruche

Lister quelques limitations de Hive

  • Il offre une prise en charge limitée des sous-requêtes
  • Les requêtes Hive ont une latence élevée
  • Les vues matérialisées ne sont pas autorisées dans Apache Hive
  • Il ne fournit pas de requêtes en temps réel, de mises à jour au niveau des lignes, d'opérations de mise à jour et de suppression
  • Apache Hive n'est pas adapté au processus de transition en ligne ou OLTP

Résumé

Dans ce didacticiel Hadoop Hive , nous avons couvert différents aspects de Hive, son utilisation et son architecture. Nous avons également approfondi son fonctionnement et discuté de ses limites. Toutes ces informations vous aideront à démarrer votre parcours d'apprentissage Hive. Après tout, c'est l'un des frameworks de Big Data les plus utilisés et les plus fiables !

Si vous souhaitez en savoir plus sur le Big Data, consultez notre programme PG Diploma in Software Development Specialization in Big Data qui est conçu pour les professionnels en activité et fournit plus de 7 études de cas et projets, couvre 14 langages et outils de programmation, pratique pratique ateliers, plus de 400 heures d'apprentissage rigoureux et d'aide au placement dans les meilleures entreprises.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Menez la révolution technologique axée sur les données

7 Études de cas et projets. Assistance à l'emploi avec les meilleures entreprises. Mentor étudiant dédié.
Programme de certificat avancé en Big Data de l'IIIT Bangalore