Introduction
En 2165, la Terre a été ravagée par une guerre catastrophique qui a duré des décennies. Les humains survivants ont cherché refuge sur des planètes lointaines, établissant de nouvelles colonies pour reconstruire leur civilisation. Une telle colonie, située sur la planète Xylonia, était habitée par une espèce technologiquement avancée connue sous le nom de Blaxters.
Les Blaxters ont maîtrisé l'art de la gestion des données, utilisant des systèmes avancés tels que Hadoop pour stocker et traiter d'énormes quantités d'informations. En tant que nouvel Ingénieur de données pour la colonie de Xylonia, votre mission est d'apprendre les détails du système de gestion de base de données Hadoop Hive, afin de garantir le stockage efficace et la récupération des données critiques nécessaires à la survie et à la croissance de la colonie.
Votre objectif est d'aider les Blaxters à gérer leurs vastes dépôts de données, en utilisant le pouvoir d'Hadoop Hive pour organiser, interroger et analyser l'information essentielle à leur recherche scientifique, à leur gestion des ressources et à leur planification stratégique.
Création d'une base de données
Dans cette étape, vous allez apprendre à créer une nouvelle base de données dans Hadoop Hive. Cette base de données servira de référentiel central pour stocker et organiser les données de la colonie.
Tout d'abord, assurez-vous d'être connecté en tant qu'utilisateur hadoop en exécutant la commande suivante dans le terminal :
su - hadoop
Une fois que vous êtes dans l'environnement utilisateur hadoop, accédez au répertoire /home/hadoop :
cd /home/hadoop
Maintenant, lancez le shell Hive en exécutant la commande suivante :
hive
Dans le shell Hive, créez une nouvelle base de données nommée xylonia_colony à l'aide de la requête SQL suivante :
CREATE DATABASE xylonia_colony;
Pour vérifier la création réussie de la base de données, vous pouvez lister toutes les bases de données disponibles en utilisant la commande suivante :
SHOW DATABASES;
Cela devrait afficher la base de données xylonia_colony nouvellement créée ainsi que toute autre base de données existante.
Création d'un tableau
Dans cette étape, vous allez apprendre à créer un tableau dans la base de données xylonia_colony pour stocker les données relatives aux ressources de la colonie.
Tout d'abord, assurez-vous d'être dans le shell Hive. Si ce n'est pas le cas, lancez-le en exécutant la commande suivante :
hive
Passez à la base de données xylonia_colony à l'aide de la commande suivante :
USE xylonia_colony;
Créez un nouveau tableau nommé resources avec les colonnes suivantes : resource_id (INT), resource_name (STRING), quantity (DOUBLE) et unit (STRING). Utilisez la requête SQL suivante :
CREATE TABLE resources (
resource_id INT,
resource_name STRING,
quantity DOUBLE,
unit STRING
);
Pour vérifier la création réussie du tableau, liste tous les tableaux dans la base de données xylonia_colony à l'aide de la commande suivante :
SHOW TABLES;
Cela devrait afficher le tableau resources.
Insertion de données
Dans cette étape, vous allez apprendre à insérer des données dans le tableau resources que vous avez créé dans l'étape précédente.
Tout d'abord, assurez-vous d'être dans le shell Hive. Si ce n'est pas le cas, lancez-le en exécutant la commande suivante :
hive
Passez à la base de données xylonia_colony à l'aide de la commande suivante :
USE xylonia_colony;
Insérez quelques données d'échantillonnage dans le tableau resources à l'aide des instructions SQL suivantes :
INSERT INTO resources VALUES (1, 'Oxygen', 500.0, 'Tons');
INSERT INTO resources VALUES (2, 'Water', 1000.0, 'Gallons');
INSERT INTO resources VALUES (3, 'Food', 200.0, 'Tons');
Pour vérifier l'insertion réussie des données, interrogez le tableau resources à l'aide de la commande suivante :
SELECT * FROM resources;
Cela devrait afficher les trois lignes de données que vous avez insérées.
Interrogation de données
Dans cette étape, vous allez apprendre à interroger des données dans le tableau resources à l'aide de diverses instructions SQL.
Tout d'abord, assurez-vous d'être dans le shell Hive. Si ce n'est pas le cas, lancez-le en exécutant la commande suivante :
hive
Passez à la base de données xylonia_colony à l'aide de la commande suivante :
USE xylonia_colony;
Interrogez le tableau resources pour récupérer toutes les ressources dont la quantité est supérieure à 500 :
SELECT * FROM resources WHERE quantity > 500;
Cela devrait afficher les lignes où la valeur de la colonne quantity est supérieure à 500.
Vous pouvez également effectuer des fonctions d'agrégation telles que SUM ou AVG sur les données. Par exemple, calculez la quantité totale de toutes les ressources :
SELECT SUM(quantity) AS total_quantity FROM resources;
Cela affichera la somme de toutes les valeurs de quantity dans le tableau resources.
Création d'un tableau partitionné
Dans cette étape, vous allez apprendre à créer un tableau partitionné dans Hive, ce qui peut améliorer les performances des requêtes en réduisant la quantité de données à scanner.
Tout d'abord, assurez-vous d'être dans le shell Hive. Si ce n'est pas le cas, lancez-le en exécutant la commande suivante :
hive
Passez à la base de données xylonia_colony à l'aide de la commande suivante :
USE xylonia_colony;
Créez un nouveau tableau partitionné nommé sensor_data avec les colonnes sensor_id (INT), sensor_name (STRING), reading (DOUBLE) et partitionné par dt (STRING) :
CREATE TABLE sensor_data (
sensor_id INT,
sensor_name STRING,
reading DOUBLE
)
PARTITIONED BY (dt STRING);
Pour insérer des données dans le tableau partitionné, vous devez spécifier la valeur de la clé de partition ainsi que les valeurs des colonnes. Par exemple :
INSERT INTO sensor_data PARTITION (dt='2023-05-01')
VALUES (1, 'Temperature Sensor', 25.5), (2, 'Humidity Sensor', 60.0);
Cela insère deux lignes de données dans le tableau sensor_data, partitionné par le dt 2023-05-01.
Vous pouvez interroger le tableau partitionné comme n'importe quel autre tableau, mais vous pouvez également filtrer les données en fonction de la clé de partition :
SELECT * FROM sensor_data WHERE dt='2023-05-01';
Cela ne parcourra que la partition correspondant à 2023-05-01, ce qui peut potentiellement améliorer les performances des requêtes.
Résumé
Dans ce laboratoire, vous avez appris à gérer des bases de données et des tables dans Hadoop Hive, un puissant outil de stockage de données dans l'écosystème Hadoop. Vous avez créé une nouvelle base de données et un tableau, inséré des données et interrogeé les données à l'aide d'instructions SQL. De plus, vous avez exploré les tableaux partitionnés, qui peuvent améliorer les performances des requêtes en réduisant la quantité de données à scanner.
Grâce à cette expérience pratique, vous avez acquis des compétences pratiques dans la gestion des dépôts de données à l'aide de Hadoop Hive, un composant crucial des systèmes de gestion avancée de données des Blaxters. En maîtrisant ces techniques, vous avez accompli une étape importante pour soutenir les efforts de la colonie de Xylonie dans la recherche scientifique, la gestion des ressources et la planification stratégique.



