Introduction
Au cœur d'un désert aride et désolé, une seule silhouette se meut parmi les vestiges d'une ville abandonnée depuis longtemps. C'est le royaume de l'Artiste des Ruines, un visionnaire qui voit la beauté dans la dégradation et le potentiel dans l'oublié. Son but est de découvrir les histoires cachées dans les ruines, donnant une nouvelle vie aux structures en ruine grâce à son art.
L'Artiste des Ruines est tombé sur un trésor de données anciennes, dispersées sur diverses fragments d'une bibliothèque qui fut autrefois magnifique. Pour extraire du sens de cette abondance d'informations et ramener de l'ordre dans le chaos, il doit utiliser le pouvoir d'Hadoop et ses puissantes capacités de traitement de données, en particulier la fonction de regroupement dans Hive.
Configuration de l'environnement
Dans cette étape, nous allons configurer l'environnement et préparer les données pour notre analyse.
- Ouvrez un terminal et basculez sur l'utilisateur
hadoopen exécutant la commande suivante :
su - hadoop
- Accédez au répertoire
/home/hadoop:
cd /home/hadoop
- Créez un nouveau répertoire appelé
ruin-datapour stocker notre ensemble de données :
mkdir ruin-data
- Déplacez l'ensemble de données d'exemple dans le répertoire
ruin-data:
cp /tmp/ruin-dataset.txt ruin-data/
Ce jeu de données contient des informations sur divers artefacts trouvés dans les ruines, y compris leur type, leur emplacement et leur état.
Explorer l'ensemble de données
Dans cette étape, nous allons charger l'ensemble de données dans Hive et explorer sa structure.
- Démarrez le shell Hive en exécutant la commande suivante :
hive
- Créez une nouvelle base de données appelée
ruin_analysis:
CREATE DATABASE ruin_analysis;
- Utilisez la base de données
ruin_analysis:
USE ruin_analysis;
- Créez une nouvelle table externe appelée
artifactspour stocker les données du fichierruin-dataset.txt:
CREATE EXTERNAL TABLE artifacts (
artifact_id INT,
artifact_type STRING,
location STRING,
condition STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
Cette commande crée une nouvelle table avec quatre colonnes : artifact_id, artifact_type, location et condition. La table est configurée pour lire les données à partir du fichier ruin-dataset.txt, qui est un fichier texte séparé par des virgules stocké dans le répertoire /home/hadoop/ruin-data. 5. Chargez les données dans la table artifacts :
LOAD DATA LOCAL INPATH '/home/hadoop/ruin-data/ruin-dataset.txt' INTO TABLE artifacts;
- Vérifiez la structure de la table en exécutant la commande suivante :
DESCRIBE artifacts;
Cela devrait afficher les noms des colonnes et leurs types de données.
Regroupement et agrégation des données
Dans cette étape, nous allons utiliser la clause GROUP BY pour analyser les données sur les artefacts et découvrir des modèles cachés.
- Dans le shell Hive, exécutez la requête suivante pour compter le nombre d'artefacts pour chaque type d'artefact :
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type;
Cette requête regroupe les données par artifact_type et calcule le nombre d'artefacts pour chaque type en utilisant la fonction COUNT(*).
- Pour trouver le type d'artefact le plus courant, modifiez la requête précédente en ajoutant une clause
ORDER BY:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type
ORDER BY artifact_count DESC
LIMIT 1;
Cette requête trie les résultats par artifact_count dans l'ordre décroissant et limite la sortie à la première ligne, ce qui nous donne le type d'artefact ayant le plus grand nombre.
- Analysons la condition des artefacts en fonction de leur type. Exécutez la requête suivante :
SELECT artifact_type, condition, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type, condition
ORDER BY artifact_type, condition;
Cette requête regroupe les données par artifact_type et condition, compte le nombre d'artefacts pour chaque combinaison, et trie les résultats par artifact_type et condition.
- Enfin, nous pouvons explorer la répartition des artefacts dans différents emplacements en exécutant la requête suivante :
SELECT location, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY location
ORDER BY artifact_count DESC;
Cette requête regroupe les données par location et compte le nombre d'artefacts trouvés dans chaque emplacement, triés par ordre décroissant de artifact_count.
Résumé
Dans ce laboratoire, nous avons exploré le pouvoir d'Hadoop's Hive et de sa fonctionnalité GROUP BY pour analyser un ensemble de données d'artefacts trouvés dans une ruine antique. En configurant l'environnement, en chargeant les données dans Hive et en exécutant diverses requêtes GROUP BY, nous avons découvert des informations précieuses telles que le type d'artefact le plus courant, la condition des artefacts en fonction de leur type et la répartition des artefacts dans différents emplacements.
Grâce à cette expérience pratique, nous avons acquis une compréhension plus approfondie de la manière dont Hadoop et Hive peuvent être utilisés pour l'analyse de données et la découverte de modèles, en particulier lorsqu'il s'agit de traiter des ensembles de données volumineux et complexes. La capacité de regrouper et d'agréger des données est une compétence fondamentale dans le monde des grands données, et ce laboratoire a offert une introduction pratique à ce concept essentiel.



