El viaje de análisis de datos interestelares

HadoopHadoopBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

¡Bienvenido al Laboratorio de Diseño de Pistas de Carreras Espaciales Interestelares! Como renombrado Diseñador de Pistas de Carreras Espaciales, tu misión es analizar los datos de carreras anteriores y diseñar una emocionante nueva pista para el próximo Campeonato de Carreras Espaciales Interestelares. Los mejores pilotos del universo competirán en esta pista, alcanzando los límites de la velocidad y la resistencia.

Tu objetivo es utilizar el poder de Hadoop y sus Funciones de Agregación para extraer información valiosa de los datos de las carreras. Al analizar diferentes métricas como los tiempos de vuelta, el uso de impulso y el consumo de energía, podrás identificar patrones y tomar decisiones informadas para el diseño de la nueva pista.

Prepárate para emprender un emocionante viaje por el cosmos, donde tus habilidades analíticas y tu conocimiento de Hadoop moldearán el futuro de las carreras interestelares.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) 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{{"El viaje de análisis de datos interestelares"}} hadoop/fs_ls -.-> lab-288955{{"El viaje de análisis de datos interestelares"}} hadoop/fs_mkdir -.-> lab-288955{{"El viaje de análisis de datos interestelares"}} hadoop/fs_put -.-> lab-288955{{"El viaje de análisis de datos interestelares"}} hadoop/create_tables -.-> lab-288955{{"El viaje de análisis de datos interestelares"}} hadoop/load_insert_data -.-> lab-288955{{"El viaje de análisis de datos interestelares"}} hadoop/group_by -.-> lab-288955{{"El viaje de análisis de datos interestelares"}} end

Configuración del Entorno

En este paso, configuraremos el entorno de Hadoop y nos familiarizaremos con los datos de las carreras.

  1. Abra una terminal y cambie al usuario hadoop ejecutando el siguiente comando:
su - hadoop
  1. Navegue hasta el directorio /home/hadoop:
cd /home/hadoop
  1. Cree un nuevo directorio llamado race_data y copie los archivos de datos de las carreras en él:
hadoop fs -mkdir -p /home/hadoop/race_data
hadoop fs -put /home/hadoop/race_data/* /home/hadoop/race_data
  1. Verifique que los archivos se hayan copiado correctamente listando el contenido del directorio race_data:
hadoop fs -ls /home/hadoop/race_data

Debería ver los archivos de datos de las carreras enumerados en la salida.

Análisis de Tiempos de Vuelta

En este paso, usaremos la función avg para analizar los tiempos de vuelta promedio de los pilotos durante las carreras anteriores.

  1. Inicie la shell de Hive:
hive
  1. Cree una nueva tabla llamada lap_times para almacenar los datos de tiempos de vuelta:
CREATE TABLE lap_times (
  pilot_id INT,
  race_id INT,
  lap_time DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Cargue los datos de tiempos de vuelta del archivo race_data/lap_times.csv en la tabla lap_times:
LOAD DATA INPATH '/home/hadoop/race_data/lap_times.csv' INTO TABLE lap_times;
  1. Calcule el tiempo de vuelta promedio para cada piloto en todas las carreras:
SELECT pilot_id, avg(lap_time) AS avg_lap_time
FROM lap_times
GROUP BY pilot_id;

Esta consulta devolverá el tiempo de vuelta promedio para cada piloto, lo que le permitirá identificar a los pilotos más rápidos y considerar sus fortalezas al diseñar la nueva pista.

Análisis del Uso de Impulso

En este paso, usaremos las funciones sum y count para analizar los patrones de uso de impulso de los pilotos durante las carreras anteriores.

  1. Cree una nueva tabla llamada boost_usage para almacenar los datos de uso de impulso:
CREATE TABLE boost_usage (
  pilot_id INT,
  race_id INT,
  boost_used BOOLEAN
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Cargue los datos de uso de impulso del archivo race_data/boost_usage.csv en la tabla boost_usage:
LOAD DATA INPATH '/home/hadoop/race_data/boost_usage.csv' INTO TABLE boost_usage;
  1. Calcule el número total de veces que cada piloto usó el impulso durante las carreras:
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. Calcule el porcentaje de carreras en las que cada piloto usó el impulso:
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;

Estas consultas proporcionarán información sobre los patrones de uso de impulso de los pilotos, lo que puede ayudarlo a determinar la ubicación óptima de los cojines de impulso y las estaciones de recarga de energía en la nueva pista.

Análisis del Consumo de Energía

En este paso, usaremos las funciones min y max para analizar los patrones de consumo de energía de los pilotos durante las carreras anteriores.

  1. Cree una nueva tabla llamada energy_consumption para almacenar los datos de consumo de energía:
CREATE TABLE energy_consumption (
  pilot_id INT,
  race_id INT,
  energy_consumed DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Cargue los datos de consumo de energía del archivo race_data/energy_consumption.csv en la tabla energy_consumption:
LOAD DATA INPATH '/home/hadoop/race_data/energy_consumption.csv' INTO TABLE energy_consumption;
  1. Encuentre el consumo mínimo y máximo de energía para cada piloto en todas las carreras:
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. Calcule el consumo promedio de energía para cada piloto en todas las carreras:
SELECT pilot_id, avg(energy_consumed) AS avg_energy_consumed
FROM energy_consumption
GROUP BY pilot_id;

Estas consultas te ayudarán a entender los patrones de consumo de energía de los pilotos, lo que puede influir en la ubicación de las estaciones de recarga de energía y el diseño de secciones con eficiencia energética en la nueva pista.

Resumen

En este laboratorio, exploraste el poder de las Funciones de Agregación de Hadoop para analizar diversos aspectos de los datos de las carreras, como los tiempos de vuelta, el uso de impulso y el consumo de energía. Al aprovechar las funciones avg, sum, count, min y max, obtuviste valiosos conocimientos sobre el rendimiento y los patrones de los pilotos en las carreras anteriores.

Estos conocimientos servirán de base para diseñar una emocionante nueva pista que atienda a las fortalezas y debilidades de los pilotos, lo que garantizará un emocionante y competitivo Campeonato de Carreras Espaciales Interestelares.

A través de esta experiencia práctica, no solo perfeccionaste tus habilidades en Hadoop y Hive, sino que también desarrollaste una comprensión más profunda de las técnicas de análisis de datos que se pueden aplicar en diversos dominios. ¡Felicitaciones por completar este laboratorio y contribuir al futuro de las carreras interestelares!