Jornada de Análise de Dados Intergaláctica

HadoopBeginner
Pratique Agora

Introdução

Bem-vindo ao Laboratório de Design de Pistas de Corrida Espacial Intergaláctica! Como um renomado Designer de Pistas de Corrida Espacial, sua missão é analisar os dados de corridas anteriores e projetar uma nova pista emocionante para o próximo Campeonato Intergaláctico de Corrida Espacial. Os melhores pilotos da galáxia competirão nesta pista, ultrapassando os limites de velocidade e resistência.

Seu objetivo é utilizar o poder do Hadoop e suas Funções de Agregação (Aggregating Functions) para extrair informações valiosas dos dados das corridas. Ao analisar várias métricas, como tempos de volta, uso de impulso (boost) e consumo de energia, você poderá identificar padrões e tomar decisões informadas para o design da nova pista.

Prepare-se para embarcar em uma jornada emocionante pelo cosmos, onde suas habilidades analíticas e conhecimento de Hadoop moldarão o futuro das corridas intergalácticas!

Configurando o Ambiente

Nesta etapa, configuraremos o ambiente Hadoop e nos familiarizaremos com os dados da corrida.

  1. Abra um terminal e mude para o usuário hadoop executando o seguinte comando:
su - hadoop
  1. Navegue até o diretório /home/hadoop:
cd /home/hadoop
  1. Crie um novo diretório chamado race_data e copie os arquivos de dados da corrida para ele:
hadoop fs -mkdir -p /home/hadoop/race_data
hadoop fs -put /home/hadoop/race_data/* /home/hadoop/race_data
  1. Verifique se os arquivos foram copiados com sucesso listando o conteúdo do diretório race_data:
hadoop fs -ls /home/hadoop/race_data

Você deve ver os arquivos de dados da corrida listados na saída.

Analisando os Tempos de Volta

Nesta etapa, usaremos a função avg para analisar os tempos médios de volta dos pilotos durante as corridas anteriores.

  1. Inicie o shell do Hive:
hive
  1. Crie uma nova tabela chamada lap_times para armazenar os dados dos tempos de volta:
CREATE TABLE lap_times (
  pilot_id INT,
  race_id INT,
  lap_time DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Carregue os dados dos tempos de volta do arquivo race_data/lap_times.csv na tabela lap_times:
LOAD DATA INPATH '/home/hadoop/race_data/lap_times.csv' INTO TABLE lap_times;
  1. Calcule o tempo médio de volta para cada piloto em todas as corridas:
SELECT pilot_id, avg(lap_time) AS avg_lap_time
FROM lap_times
GROUP BY pilot_id;

Esta consulta exibirá o tempo médio de volta para cada piloto, permitindo que você identifique os pilotos mais rápidos e considere seus pontos fortes ao projetar a nova pista.

Analisando o Uso de Boost

Nesta etapa, usaremos as funções sum e count para analisar os padrões de uso de boost dos pilotos durante as corridas anteriores.

  1. Crie uma nova tabela chamada boost_usage para armazenar os dados de uso de boost:
CREATE TABLE boost_usage (
  pilot_id INT,
  race_id INT,
  boost_used BOOLEAN
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Carregue os dados de uso de boost do arquivo race_data/boost_usage.csv na tabela boost_usage:
LOAD DATA INPATH '/home/hadoop/race_data/boost_usage.csv' INTO TABLE boost_usage;
  1. Calcule o número total de vezes que cada piloto usou o boost durante as corridas:
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 a porcentagem de corridas em que cada piloto usou o 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;

Essas consultas fornecerão insights sobre os padrões de uso de boost dos pilotos, o que pode ajudá-lo a determinar a colocação ideal de plataformas de boost e estações de recarga de energia na nova pista.

Analisando o Consumo de Energia

Nesta etapa, usaremos as funções min e max para analisar os padrões de consumo de energia dos pilotos durante as corridas anteriores.

  1. Crie uma nova tabela chamada energy_consumption para armazenar os dados de consumo de energia:
CREATE TABLE energy_consumption (
  pilot_id INT,
  race_id INT,
  energy_consumed DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
  1. Carregue os dados de consumo de energia do arquivo race_data/energy_consumption.csv na tabela energy_consumption:
LOAD DATA INPATH '/home/hadoop/race_data/energy_consumption.csv' INTO TABLE energy_consumption;
  1. Encontre o consumo mínimo e máximo de energia para cada piloto em todas as corridas:
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 o consumo médio de energia para cada piloto em todas as corridas:
SELECT pilot_id, avg(energy_consumed) AS avg_energy_consumed
FROM energy_consumption
GROUP BY pilot_id;

Essas consultas ajudarão você a entender os padrões de consumo de energia dos pilotos, o que pode influenciar a colocação de estações de recarga de energia e o design de seções eficientes em termos de energia na nova pista.

Resumo

Neste laboratório, você explorou o poder das Funções de Agregação do Hadoop para analisar vários aspectos dos dados da corrida, incluindo tempos de volta, uso de boost e consumo de energia. Ao aproveitar as funções avg, sum, count, min e max, você obteve informações valiosas sobre o desempenho e os padrões dos pilotos das corridas anteriores.

Esses insights servirão como base para projetar uma nova pista emocionante que atenda aos pontos fortes e fracos dos pilotos, garantindo um Campeonato Intergaláctico de Corrida Espacial emocionante e competitivo.

Por meio desta experiência prática, você não apenas aprimorou suas habilidades em Hadoop e Hive, mas também desenvolveu uma compreensão mais profunda das técnicas de análise de dados que podem ser aplicadas em vários domínios. Parabéns por concluir este laboratório e contribuir para o futuro das corridas intergalácticas!