Restructuration des données rebelles avec Hadoop

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 une galaxie lointaine, l'oppressive Empire Galactique a soumis innombrables planètes, exploitant leurs ressources et opprimant leurs populations. La dirigeante rebelle, Princesse Leia, a coordonné une rébellion contre l'Empire, mais ses forces sont largement surclassées en nombre et en armement. Pour inverser la tendance de la guerre, Leia doit analyser d'énormes quantités de données d'intelligence pour identifier les faiblesses de l'Empire et planifier des frappes stratégiques.

Le but de ce laboratoire est d'aider Princesse Leia et l'Alliance Rebelle à utiliser le pouvoir d'Hadoop Hive pour gérer et manipuler de grands ensembles de données, en apprenant notamment à modifier les tables Hive existantes. En maîtrisant cette compétence, Leia peut restructurer efficacement ses bases de données d'intelligence, lui permettant de découvrir des informations cruciales et de gagner un avantage stratégique contre l'Empire.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) 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/alter_tables("Altering Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/update_data("Updating Data") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") subgraph Lab Skills hadoop/hive_shell -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/manage_db -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/create_tables -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/describe_tables -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/alter_tables -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/load_insert_data -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/update_data -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} hadoop/storage_formats -.-> lab-288956{{"Restructuration des données rebelles avec Hadoop"}} end

Créer une table d'échantillonnage

Dans cette étape, nous allons créer une table Hive d'échantillonnage avec laquelle travailler. Cette table stockera des informations sur diverses planètes de la galaxie, y compris leurs noms, leurs populations et leurs ressources.

Tout d'abord, basculez sur l'utilisateur hadoop en exécutant la commande suivante dans votre terminal :

su - hadoop

Maintenant, lancez l'interface de ligne de commande (CLI) Hive en exécutant la commande suivante :

hive

Dans l'interface CLI Hive, créez une nouvelle base de données appelée rebel_intel :

CREATE DATABASE rebel_intel;

Utilisez la base de données rebel_intel :

USE rebel_intel;

Créez une nouvelle table appelée planets avec le schéma suivant :

CREATE TABLE planets (
    planet_id INT,
    planet_name STRING,
    population BIGINT,
    resources ARRAY<STRING>
)
CLUSTERED BY (planet_id) INTO 2 BUCKETS
STORED AS ORC
TBLPROPERTIES ('transactional'='true');

Cette table a quatre colonnes : planet_id (un entier pour l'identifiant de la planète), planet_name (une chaîne de caractères pour le nom de la planète), population (un grand entier pour la population de la planète) et resources (un tableau de chaînes de caractères représentant les ressources de la planète).

Sortez de l'interface CLI Hive en tapant exit;.

Ajouter des données à la table

Dans cette étape, nous allons alimenter la table planets avec quelques données d'échantillonnage. Ces données représentent les renseignements recueillis par l'Alliance Rebelle sur diverses planètes de la galaxie.

Redémarrez l'interface CLI Hive :

hive

Utilisez la base de données rebel_intel :

USE rebel_intel;

Insérez quelques données d'échantillonnage dans la table planets :

INSERT INTO planets VALUES
    (1, 'Alderaan', 2000000000, array('Agriculture', 'Energy')),
    (2, 'Tatooine', 200000, array('Mining')),
    (3, 'Hoth', 0, array('None')),
    (4, 'Endor', 30000, array('Forestry', 'Hunting')),
    (5, 'Bespin', 6000000, array('Gas Mining', 'Tourism'));

Cela insère cinq lignes de données dans la table planets, représentant différentes planètes avec leurs identifiants de planète, noms, populations et ressources respectifs.

Sortez de l'interface CLI Hive en tapant exit;.

Modifier la structure de la table

Maintenant que nous avons une table avec des données, disons que Princesse Leia a besoin d'ajouter une autre colonne pour stocker des informations sur le climat de chaque planète. Dans cette étape, nous allons apprendre à modifier la structure d'une table Hive existante.

Démarrez l'interface CLI Hive :

hive

Utilisez la base de données rebel_intel :

USE rebel_intel;

Modifiez la table planets pour ajouter une nouvelle colonne appelée climate :

ALTER TABLE planets ADD COLUMNS (climate STRING);

Cette commande ajoute une nouvelle colonne nommée climate de type STRING à la table planets.

Vérifiez la structure de la table mise à jour :

DESCRIBE planets;

Vous devriez voir la nouvelle colonne climate dans le schéma de la table.

Sortez de l'interface CLI Hive en tapant exit;.

Mettre à jour les données de la table

Avec la nouvelle colonne climate ajoutée à la table planets, nous pouvons maintenant mettre à jour les données existantes pour inclure des informations sur le climat de chaque planète.

Démarrez l'interface CLI Hive :

hive

Utilisez la base de données rebel_intel :

USE rebel_intel;

Mettez à jour la colonne climate pour chaque planète :

UPDATE planets SET climate = 'Tempéré' WHERE planet_name = 'Alderaan';
UPDATE planets SET climate = 'Aride' WHERE planet_name = 'Tatooine';
UPDATE planets SET climate = 'Gelé' WHERE planet_name = 'Hoth';
UPDATE planets SET climate = 'Tropical' WHERE planet_name = 'Endor';
UPDATE planets SET climate = 'Artificiel' WHERE planet_name = 'Bespin';

Ces instructions UPDATE définissent la valeur de climate pour chaque planète en fonction de leurs noms respectifs.

Vérifiez les données mises à jour :

SELECT * FROM planets;

Vous devriez voir les valeurs de climate mises à jour pour chaque planète.

Sortez de l'interface CLI Hive en tapant exit;.

Sommaire

Dans ce laboratoire, nous avons exploré le concept de modification de tables dans Hadoop Hive, qui est une compétence cruciale pour la gestion et la restructuration de grands ensembles de données. En créant une table d'échantillonnage planets, en ajoutant des données puis en modifiant la structure de la table pour inclure une nouvelle colonne climate, nous avons appris à adapter nos modèles de données pour répondre à des exigences en évolution.

La conception de ce laboratoire a été inspirée par l'univers emblématique de Star Wars, où la dirigeante rebelle, Princesse Leia, doit analyser des données d'intelligence pour identifier les faiblesses dans les défenses de l'Empire Galactique. En maîtrisant la capacité d'Hive à modifier les tables, Leia peut restructurer efficacement ses bases de données d'intelligence, découvrir des informations précieuses et gagner un avantage stratégique dans la rébellion contre l'oppressif Empire.

Grâce à cette expérience pratique, j'ai acquis une compréhension plus approfondie de la manière de créer, modifier et mettre à jour des tables Hive, qui sont des compétences essentielles pour travailler avec de grands ensembles de données dans des environnements Hadoop. L'utilisation de vérificateurs a également permis de vérifier mon progrès à chaque étape, renforçant mon apprentissage et m'assurant de réussir les objectifs du laboratoire.