Le parcours d'analyse de données intergalactiques

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

Bienvenue au Laboratoire de conception de la piste de course spatiale intergalactique! En tant que célèbre concepteur de pistes de course spatiale, votre mission est d'analyser les données des courses précédentes et de concevoir une nouvelle piste passionnante pour la prochaine championnat intergalactique de course spatiale. Les meilleurs pilotes de la galaxie vont concurrencer sur cette piste, poussant les limites de la vitesse et de l'endurance.

Votre objectif est d'utiliser la puissance d'Hadoop et ses fonctions d'agrégation pour extraire des informations précieuses des données de course. En analysant divers indicateurs tels que les temps de tour, l'utilisation de boost et la consommation d'énergie, vous serez en mesure d'identifier des modèles et de prendre des décisions éclairées pour la conception de la nouvelle piste.

Prenez-vous prêts à entreprendre un voyage passionnant à travers le cosmos, où vos compétences analytiques et votre connaissance d'Hadoop vont façonner l'avenir de la course spatiale intergalactique!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHDFSGroup -.-> hadoop/fs_put("FS Shell copyToLocal/put") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} hadoop/fs_ls -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} hadoop/fs_mkdir -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} hadoop/fs_put -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} hadoop/create_tables -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} hadoop/load_insert_data -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} hadoop/group_by -.-> lab-288955{{"Le parcours d'analyse de données intergalactiques"}} end

Configuration de l'environnement

Dans cette étape, nous allons configurer l'environnement Hadoop et nous familiariser avec les données de course.

  1. Ouvrez un terminal et basculez sur l'utilisateur hadoop en exécutant la commande suivante :
su - hadoop
  1. Accédez au répertoire /home/hadoop :
cd /home/hadoop
  1. Créez un nouveau répertoire appelé race_data et copiez les fichiers de données de course dedans :
hadoop fs -mkdir -p /home/hadoop/race_data
hadoop fs -put /home/hadoop/race_data/* /home/hadoop/race_data
  1. Vérifiez que les fichiers ont été copiés avec succès en lisant le contenu du répertoire race_data :
hadoop fs -ls /home/hadoop/race_data

Vous devriez voir les fichiers de données de course listés dans la sortie.

Analyse des temps de tour

Dans cette étape, nous allons utiliser la fonction avg pour analyser les temps de tour moyens des pilotes lors des courses précédentes.

  1. Démarrez le shell Hive :
hive
  1. Créez une nouvelle table appelée lap_times pour stocker les données de temps de tour :
CREATE TABLE lap_times (
  pilot_id INT,
  race_id INT,
  lap_time DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Chargez les données de temps de tour à partir du fichier race_data/lap_times.csv dans la table lap_times :
LOAD DATA INPATH '/home/hadoop/race_data/lap_times.csv' INTO TABLE lap_times;
  1. Calculez le temps de tour moyen pour chaque pilote sur toutes les courses :
SELECT pilot_id, avg(lap_time) AS avg_lap_time
FROM lap_times
GROUP BY pilot_id;

Cette requête affichera le temps de tour moyen pour chaque pilote, vous permettant d'identifier les pilotes les plus rapides et de prendre en compte leurs atouts lors de la conception de la nouvelle piste.

Analyse de l'utilisation du boost

Dans cette étape, nous allons utiliser les fonctions sum et count pour analyser les modèles d'utilisation du boost des pilotes lors des courses précédentes.

  1. Créez une nouvelle table appelée boost_usage pour stocker les données d'utilisation du boost :
CREATE TABLE boost_usage (
  pilot_id INT,
  race_id INT,
  boost_used BOOLEAN
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Chargez les données d'utilisation du boost à partir du fichier race_data/boost_usage.csv dans la table boost_usage :
LOAD DATA INPATH '/home/hadoop/race_data/boost_usage.csv' INTO TABLE boost_usage;
  1. Calculez le nombre total de fois que chaque pilote a utilisé le boost lors des courses :
SELECT pilot_id, sum(CASE WHEN boost_used THEN 1 ELSE 0 END) AS total_boosts_used
FROM boost_usage
GROUP BY pilot_id;
  1. Calculez le pourcentage de courses où chaque pilote a utilisé le boost :
SELECT pilot_id,
       round(
         sum(CASE WHEN boost_used THEN 1 ELSE 0 END) * 100.0 / count(*),
         2
       ) AS boost_usage_percentage
FROM boost_usage
GROUP BY pilot_id;

Ces requêtes vous fourniront des informations sur les modèles d'utilisation du boost des pilotes, ce qui peut vous aider à déterminer le placement optimal des pads de boost et des stations de recharge d'énergie sur la nouvelle piste.

Analyse de la consommation d'énergie

Dans cette étape, nous allons utiliser les fonctions min et max pour analyser les modèles de consommation d'énergie des pilotes lors des courses précédentes.

  1. Créez une nouvelle table appelée energy_consumption pour stocker les données de consommation d'énergie :
CREATE TABLE energy_consumption (
  pilot_id INT,
  race_id INT,
  energy_consumed DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Chargez les données de consommation d'énergie à partir du fichier race_data/energy_consumption.csv dans la table energy_consumption :
LOAD DATA INPATH '/home/hadoop/race_data/energy_consumption.csv' INTO TABLE energy_consumption;
  1. Trouvez la consommation d'énergie minimale et maximale pour chaque pilote sur toutes les courses :
SELECT pilot_id, min(energy_consumed) AS min_energy_consumed, max(energy_consumed) AS max_energy_consumed
FROM energy_consumption
GROUP BY pilot_id;
  1. Calculez la consommation d'énergie moyenne pour chaque pilote sur toutes les courses :
SELECT pilot_id, avg(energy_consumed) AS avg_energy_consumed
FROM energy_consumption
GROUP BY pilot_id;

Ces requêtes vous aideront à comprendre les modèles de consommation d'énergie des pilotes, ce qui peut influencer le placement des stations de recharge d'énergie et la conception des sections économes en énergie sur la nouvelle piste.

Sommaire

Dans ce laboratoire, vous avez exploré le pouvoir des fonctions d'agrégation Hadoop pour analyser divers aspects des données de course, notamment les temps de tour, l'utilisation du boost et la consommation d'énergie. En utilisant les fonctions avg, sum, count, min et max, vous avez acquis des informations précieuses sur les performances et les modèles des pilotes lors des courses précédentes.

Ces informations serviront de base pour concevoir une nouvelle piste passionnante qui prend en compte les atouts et les faiblesses des pilotes, garantissant une championnat de course spatiale intergalactique excitante et compétitive.

Grâce à cette expérience pratique, vous n'avez pas seulement affiné vos compétences en Hadoop et Hive, mais vous avez également développé une compréhension plus approfondie des techniques d'analyse de données qui peuvent être appliquées dans divers domaines. Félicitations pour avoir terminé ce laboratoire et contribué à l'avenir de la course intergalactique!