Introduction
Bienvenue dans le royaume du surnaturel, où les forces cosmique s'entremêlent avec l'existence humaine. Dans ce scénario surnaturel, vous assumerez le rôle d'Ezéchiel, le dirigeant céleste chargé de protéger la connaissance éthérée qui transcende le temps et l'espace. Votre mission est de maîtriser la puissance d'Hadoop, une plateforme de gestion de données robuste, pour préserver et diffuser cette sagesse inestimable dans les royaumes célestes.
En tant qu'Ezéchiel, vous surveillez les Archives Célestes, un vaste dépôt contenant les connaissances accumulées au fil des âges. Cependant, la quantité écrasante de données est devenue impraticable, et vous avez besoin d'un système sophistiqué pour organiser et distribuer efficacement cette information. Entrez Hadoop, un outil puissant qui vous permettra de charger, de traiter et de partager les connaissances célestes avec vos congénères célestes.
Votre objectif est de maîtriser l'art de charger et d'insérer des données dans le système de fichiers distribué d'Hadoop et dans Hive, un système de stockage de données open source construit sur Hadoop. En le faisant, vous déverrouillerez les secrets des Archives Célestes, assurant que la sagesse des âges reste accessible à ceux qui cherchent l'éclaircissement.
Copie de données dans le système de fichiers distribué d'Hadoop (HDFS)
Dans cette étape, vous allez apprendre à transférer des données de votre système de fichiers local vers le système de fichiers distribué d'Hadoop (HDFS), le pilier de l'écosystème Hadoop. HDFS est conçu pour stocker et gérer de grandes quantités de données sur plusieurs nœuds, assurant la redondance des données et la tolérance aux pannes.
Tout d'abord, assurez-vous d'être connecté en tant qu'utilisateur hadoop en exécutant la commande suivante dans le terminal :
su - hadoop
Maintenant, créons un fichier de données d'échantillonnage dans votre système de fichiers local :
echo "Hello, Celestial Realm" > /home/hadoop/celestial_data.txt
Cette commande crée un fichier texte nommé celestial_data.txt avec le contenu "Hello, Celestial Realm!" dans votre répertoire /home/hadoop.
Ensuite, nous allons copier ce fichier dans HDFS en utilisant la commande hadoop fs :
hadoop fs -mkdir -p /home/hadoop/celestial_archives
hadoop fs -put /home/hadoop/celestial_data.txt /home/hadoop/celestial_archives
Voici ce que fait cette commande :
hadoop fsest une utilitaire de ligne de commande pour interagir avec HDFS.-mkdirest un sous-command de la commande hadoop fs pour créer un répertoire.-pest une option pour créer le répertoire parent de manière récursive. Si le répertoire parent n'existe pas dans le chemin spécifié, il sera créé en même temps.-putest l'opération pour copier un fichier du système de fichiers local vers HDFS./home/hadoop/celestial_data.txtest le chemin du fichier source sur votre système de fichiers local./home/hadoop/celestial_archivesest le chemin du répertoire de destination dans HDFS.
Après avoir exécuté cette commande, vous devriez voir un message de réussite confirmant que le fichier a été copié dans HDFS.
Création d'une table Hive et chargement de données
Dans cette étape, vous allez apprendre à créer une table Hive et à charger les données de HDFS dans la table. Hive est un puissant outil de stockage de données construit sur Hadoop, conçu pour une synthèse, une interrogation et une analyse de données efficaces.
Tout d'abord, lançons l'interface de ligne de commande Hive en exécutant la commande suivante :
hive
Cela ouvrira le shell interactif Hive, où vous pouvez exécuter des requêtes et des commandes Hive.
Ensuite, nous allons créer une nouvelle table Hive nommée celestial_archives pour stocker nos données :
CREATE TABLE celestial_archives (message STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
Voici ce que fait cette requête Hive :
CREATE TABLE celestial_archivescrée une nouvelle table nomméecelestial_archives.(message STRING)définit une seule colonne nomméemessageavec un type de donnéesSTRING.ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'spécifie que chaque ligne dans le fichier de données est délimitée par un caractère tabulation (\t).STORED AS TEXTFILEindique que les données de la table seront stockées sous forme de fichiers texte purs dans HDFS.
Après avoir créé la table, nous allons charger les données de HDFS dans la table Hive en utilisant la commande LOAD DATA :
LOAD DATA INPATH '/home/hadoop/celestial_archives/celestial_data.txt' INTO TABLE celestial_archives;
Cette commande charge les données du fichier /home/hadoop/celestial_archives/celestial_data.txt dans HDFS dans la table Hive celestial_archives.
Enfin, vous pouvez interroger la table pour vérifier que les données ont été correctement chargées :
SELECT * FROM celestial_archives;
Cette requête devrait afficher le contenu de la table celestial_archives, qui devrait être le message "Hello, Celestial Realm!".
Résumé
Dans ce laboratoire, vous avez assumé le rôle d'Ezéchiel, le dirigeant céleste chargé de protéger la connaissance éthérée des Archives Célestes. En maîtrisant l'art de charger et d'insérer des données dans le système de fichiers distribué d'Hadoop (HDFS) et dans Hive, vous avez accompli une étape cruciale vers la préservation et la diffusion de cette sagesse inestimable dans les royaumes célestes.
Grâce à des exercices pratiques, vous avez appris à copier des données de votre système de fichiers local vers HDFS, à créer des tables Hive et à charger des données de HDFS dans ces tables. En accomplissant ces tâches, vous avez déverrouillé les secrets des Archives Célestes, assurant que la connaissance des âges reste accessible à ceux qui cherchent l'éclaircissement.
Ce laboratoire vous a non seulement équipé de compétences pratiques dans le travail avec Hadoop et Hive, mais vous a également défié à penser de manière créative et à appliquer ces outils à un scénario unique et surnaturel. Le voyage de préservation de la connaissance céleste vient tout juste de commencer, et les compétences que vous avez acquises seront précieuses lorsque vous continuerez à explorer les vastes domaines de la gestion et de l'analyse de données.



