Maîtrise des données dans l'Arène Hive

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans un monde futuriste où les données sont tout-puissantes, un tournoi majeur est organisé pour déterminer le maître ultime de la manipulation des données. Des concurrents venus de tous les coins de la galaxie se rassemblent pour démontrer leurs compétences dans l'art du nettoyage des données, le défi le plus redoutable étant dans le domaine du Hadoop Hive Shell.

Vous, un prometteur ingénieur de données, avez été choisi pour représenter votre planète d'origine dans cet événement prestigieux. Lorsque vous entrez dans la ring, la figure imposante du Président du jury vous accueille : "Bienvenue, challenger! Dans ce combat décisif, vous devez conquérir les profondeurs du Hive Shell, un outil puissant qui vous permet d'interagir avec le système de stockage de données Hadoop. Montrez votre courage en exécutant une série de tâches qui vous testeront sur votre maîtrise des requêtes, de la manipulation et de l'analyse de données."

Avec un signe de tête déterminé, vous vous préparez aux défis qui vous attendent, impatient de démontrer vos compétences et d'apporter gloire à votre planète.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/describe_tables("Describing Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/where("where Usage") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") subgraph Lab Skills hadoop/hive_setup -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/hive_shell -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/manage_db -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/create_tables -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/describe_tables -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/load_insert_data -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/basic_hiveql -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/where -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} hadoop/group_by -.-> lab-288978{{"Maîtrise des données dans l'Arène Hive"}} end

Accéder au Hive Shell

Dans cette étape, vous allez apprendre à accéder au Hive Shell, une interface de ligne de commande qui vous permet d'interagir avec le système de stockage de données Hive.

Pour accéder au Hive Shell, suivez ces étapes :

  1. Lancez une fenêtre de terminal.
  2. Basculez sur l'utilisateur hadoop en exécutant la commande suivante :
su - hadoop
  1. Une fois que vous êtes dans l'environnement de l'utilisateur hadoop, lancez le Hive Shell en exécutant la commande suivante :
hive

Vous devriez voir l'invite du Hive Shell (hive>), ce qui indique que vous êtes entré avec succès dans le Hive Shell.

Voici un exemple de ce que vous devriez voir dans votre terminal :

[hadoop@localhost ~]$ hive
Hive Session ID = 2bd4d0ce-9a9a-4c4e-a8f4-c5a6c7b9a8b9

Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j2.properties Async: true
Hive Session Value Manager Service

hive>

Maintenant, vous êtes prêt à commencer à exécuter des requêtes et des commandes Hive dans le Hive Shell.

Création d'une base de données et d'une table

Dans cette étape, vous allez apprendre à créer une nouvelle base de données et une table dans le Hive Shell.

  1. Tout d'abord, créez une nouvelle base de données nommée tournament_db en exécutant la commande suivante dans le Hive Shell :
CREATE DATABASE tournament_db;
  1. Ensuite, basculez sur la base de données nouvellement créée :
USE tournament_db;
  1. Créez une nouvelle table nommée contestants avec le schéma suivant :
CREATE TABLE contestants (
  id INT,
  name STRING,
  planet STRING,
  score INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

Cette table stockera des informations sur les concurrents du tournoi, y compris leur identifiant, leur nom, leur planète d'origine et leur score.

  1. Pour vérifier que la table a été créée avec succès, vous pouvez exécuter la commande suivante pour décrire le schéma de la table :
DESCRIBE contestants;

Vous devriez voir le schéma de la table affiché dans la sortie du Hive Shell.

Voici un exemple de ce que vous devriez voir :

hive> DESCRIBE contestants;
OK
id                   int                 None
name                 string               None
planet               string               None
score                int                  None

Chargement de données dans la table

Maintenant que vous avez créé la table contestants, il est temps de la peupler avec des données.

  1. Créez un nouveau fichier nommé contestants.csv dans le répertoire /home/hadoop/ avec le contenu suivant :
1,Zara,Andromeda,85
2,Brock,Celestia,92
3,Kira,Nebula,78
4,Tara,Vega,96
5,Zion,Altair,83
  1. Ensuite, basculez sur la base de données nouvellement créée :
USE tournament_db;
  1. Chargez les données du fichier contestants.csv dans la table contestants en utilisant la commande suivante dans le Hive Shell :
LOAD DATA LOCAL INPATH '/home/hadoop/contestants.csv' OVERWRITE INTO TABLE contestants;

Cette commande chargera les données du fichier local contestants.csv dans la table contestants, en écrasant toute donnée existante.

  1. Pour vérifier que les données ont été correctement chargées, vous pouvez exécuter une requête SELECT :
SELECT * FROM contestants;

Vous devriez voir la sortie suivante :

hive> SELECT * FROM contestants;
OK
1 Zara Andromeda 85
2 Brock Celestia 92
3 Kira Nebula 78
4 Tara Vega 96
5 Zion Altair 83

Interrogation des données

Avec les données chargées dans la table contestants, vous pouvez désormais effectuer diverses requêtes pour analyser et manipuler les données.

  1. Pour afficher les noms et les scores de tous les concurrents de la planète 'Andromeda', exécutez la requête suivante :
SELECT name, score FROM contestants WHERE planet = 'Andromeda';

Vous devriez voir la sortie suivante :

hive> SELECT name, score FROM contestants WHERE planet = 'Andromeda';
OK
Zara 85
  1. Pour calculer la moyenne des scores de tous les concurrents, exécutez la requête suivante :
SELECT AVG(score) AS average_score FROM contestants;

Vous devriez voir la sortie suivante :

hive> SELECT AVG(score) AS average_score FROM contestants;
OK
86.8
  1. Pour trouver le concurrent ayant le score le plus élevé, exécutez la requête suivante :
SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;

Vous devriez voir la sortie suivante :

hive> SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;
OK
Brock   92
Kira    78
Tara    96
Zara    85
Zion    83

N'hésitez pas à experimenter avec plus de requêtes et à explorer les données dans la table contestants en utilisant diverses clauses et fonctions fournies par Hive.

Sommaire

Dans ce laboratoire, vous avez entrepris un voyage dans le monde du Hadoop Hive Shell, un outil puissant pour la manipulation et l'analyse de données. Au cours d'une série de défis immersifs, vous avez maîtrisé l'art d'accéder au Hive Shell, de créer des bases de données et des tables, de charger des données et d'interroger les données en utilisant diverses clauses et fonctions.

La conception du laboratoire, inspirée d'un tournoi futuriste, visait à créer une expérience d'apprentissage captivante et motivante. En assumant le rôle d'un concurrent représentant votre planète d'origine, vous avez été poussé à exceller dans chaque défi, affinant vos compétences et démontrant votre habileté dans la manipulation des données.

Au cours du laboratoire, vous avez rencontré des tâches pratiques qui vous ont exigé d'exécuter des commandes, d'écrire des requêtes et d'analyser les résultats. Les instructions étape par étape, accompagnées d'exemples de code et d'explications détaillées, ont assuré une courbe d'apprentissage fluide, vous permettant de construire progressivement vos connaissances et votre confiance.

L'inclusion de scripts de vérification à la fin de chaque étape a offert une opportunité d'auto-évaluation, vous permettant de valider votre compréhension et de vous assurer que vous aviez réussi à compléter les tâches. Ces vérificateurs ont joué un rôle crucial dans le renforcement de votre apprentissage et dans l'assurance que vous étiez sur la bonne voie.

Dans l'ensemble, ce laboratoire vous a non seulement équipé des compétences essentielles nécessaires pour travailler avec le Hadoop Hive Shell, mais a également favorisé une appréciation de la puissance de la manipulation et de l'analyse de données de manière captivante et immersive.