Domínio de Dados na Arena Hive

HadoopBeginner
Pratique Agora

Introdução

Num mundo futurista onde os dados reinam supremos, um grande torneio é realizado para determinar o mestre supremo da manipulação de dados. Concorrentes de todos os cantos da galáxia se reúnem para demonstrar suas habilidades na arte do data wrangling, com o desafio mais formidável residindo no reino do Hadoop Hive Shell.

Você, um promissor engenheiro de dados, foi escolhido para representar seu planeta natal neste prestigioso evento. Ao entrar na arena, a imponente figura do Árbitro-Chefe do torneio o cumprimenta: "Bem-vindo, desafiante! Nesta batalha decisiva, você deve conquistar as profundezas do Hive Shell, uma ferramenta poderosa que permite interagir com o sistema de data warehouse do Hadoop. Prove sua coragem executando uma série de tarefas que testarão sua proficiência em data querying, manipulação e análise."

Com um aceno determinado, você se prepara para os desafios que estão por vir, ansioso para mostrar suas habilidades e trazer honra ao seu planeta.

Acessando o Hive Shell

Nesta etapa, você aprenderá como acessar o Hive Shell, uma interface de linha de comando que permite interagir com o sistema de data warehouse do Hive.

Para acessar o Hive Shell, siga estes passos:

  1. Abra uma janela de terminal.
  2. Mude para o usuário hadoop executando o seguinte comando:
su - hadoop
  1. Depois de estar no ambiente do usuário hadoop, inicie o Hive Shell executando o seguinte comando:
hive

Você deve ver o prompt do Hive Shell (hive>), indicando que você entrou com sucesso no Hive Shell.

Aqui está um exemplo do que você deve ver no seu terminal:

[hadoop@localhost ~]$ hive
Hive Session ID = 2bd4d0ce-9a9a-4c4e-a8f4-c5a6c7b9a8b9

Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j2.properties Async: true
Hive Session Value Manager Service

hive>

Agora você está pronto para começar a executar queries e comandos do Hive dentro do Hive Shell.

Criando um Banco de Dados e Tabela

Nesta etapa, você aprenderá como criar um novo banco de dados e uma tabela dentro do Hive Shell.

  1. Primeiro, crie um novo banco de dados chamado tournament_db executando o seguinte comando no Hive Shell:
CREATE DATABASE tournament_db;
  1. Em seguida, mude para o banco de dados recém-criado:
USE tournament_db;
  1. Crie uma nova tabela chamada contestants com o seguinte esquema:
CREATE TABLE contestants (
  id INT,
  name STRING,
  planet STRING,
  score INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

Esta tabela armazenará informações sobre os competidores do torneio, incluindo seu ID, nome, planeta natal e pontuação.

  1. Para verificar se a tabela foi criada com sucesso, você pode executar o seguinte comando para descrever o esquema da tabela:
DESCRIBE contestants;

Você deve ver o esquema da tabela exibido na saída do Hive Shell.

Aqui está um exemplo do que você deve ver:

hive> DESCRIBE contestants;
OK
id                   int                 None
name                 string               None
planet               string               None
score                int                  None

Carregando Dados na Tabela

Agora que você criou a tabela contestants, é hora de preenchê-la com dados.

  1. Crie um novo arquivo chamado contestants.csv no diretório /home/hadoop/ com o seguinte conteúdo:
1,Zara,Andromeda,85
2,Brock,Celestia,92
3,Kira,Nebula,78
4,Tara,Vega,96
5,Zion,Altair,83
  1. Em seguida, mude para o banco de dados recém-criado:
USE tournament_db;
  1. Carregue os dados do arquivo contestants.csv na tabela contestants usando o seguinte comando no Hive Shell:
LOAD DATA LOCAL INPATH '/home/hadoop/contestants.csv' OVERWRITE INTO TABLE contestants;

Este comando carregará os dados do arquivo local contestants.csv na tabela contestants, sobrescrevendo quaisquer dados existentes.

  1. Para verificar se os dados foram carregados corretamente, você pode executar uma query SELECT:
SELECT * FROM contestants;

Você deve ver a seguinte saída:

hive> SELECT * FROM contestants;
OK
1 Zara Andromeda 85
2 Brock Celestia 92
3 Kira Nebula 78
4 Tara Vega 96
5 Zion Altair 83

Consultando os Dados

Com os dados carregados na tabela contestants, você pode agora executar várias queries para analisar e manipular os dados.

  1. Para exibir os nomes e pontuações de todos os competidores do planeta 'Andromeda', execute a seguinte query:
SELECT name, score FROM contestants WHERE planet = 'Andromeda';

Você deve ver a seguinte saída:

hive> SELECT name, score FROM contestants WHERE planet = 'Andromeda';
OK
Zara 85
  1. Para calcular a pontuação média de todos os competidores, execute a seguinte query:
SELECT AVG(score) AS average_score FROM contestants;

Você deve ver a seguinte saída:

hive> SELECT AVG(score) AS average_score FROM contestants;
OK
86.8
  1. Para encontrar o competidor com a pontuação mais alta, execute a seguinte query:
SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;

Você deve ver a seguinte saída:

hive> SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;
OK
Brock   92
Kira    78
Tara    96
Zara    85
Zion    83

Sinta-se à vontade para experimentar mais queries e explorar os dados na tabela contestants usando várias cláusulas e funções fornecidas pelo Hive.

Resumo

Neste laboratório, você embarcou em uma jornada no mundo do Hadoop Hive Shell, uma ferramenta poderosa para manipulação e análise de dados. Através de uma série de desafios imersivos, você dominou a arte de acessar o Hive Shell, criar bancos de dados e tabelas, carregar dados e consultar os dados usando várias cláusulas e funções.

O design do laboratório, inspirado em um torneio futurista, teve como objetivo criar uma experiência de aprendizado envolvente e motivadora. Ao assumir o papel de um competidor representando seu planeta natal, você foi impulsionado a se destacar em cada desafio, aprimorando suas habilidades e demonstrando sua proeza na manipulação de dados.

Ao longo do laboratório, você encontrou tarefas práticas que exigiam que você executasse comandos, escrevesse queries e analisasse os resultados. As instruções passo a passo, acompanhadas por exemplos de código e explicações detalhadas, garantiram uma curva de aprendizado suave, permitindo que você construísse progressivamente seu conhecimento e confiança.

A inclusão de scripts de verificação (checker scripts) no final de cada etapa proporcionou uma oportunidade de autoavaliação, permitindo que você validasse sua compreensão e garantisse que havia concluído as tarefas com sucesso. Esses verificadores desempenharam um papel crucial no reforço do seu aprendizado e na garantia de que você estava no caminho certo.

No geral, este laboratório não apenas o equipou com as habilidades essenciais necessárias para trabalhar com o Hadoop Hive Shell, mas também fomentou uma apreciação pelo poder da manipulação e análise de dados de uma maneira envolvente e imersiva.