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:
- Abra uma janela de terminal.
- Mude para o usuário
hadoopexecutando o seguinte comando:
su - hadoop
- 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.
- Primeiro, crie um novo banco de dados chamado
tournament_dbexecutando o seguinte comando no Hive Shell:
CREATE DATABASE tournament_db;
- Em seguida, mude para o banco de dados recém-criado:
USE tournament_db;
- Crie uma nova tabela chamada
contestantscom 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.
- 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.
- Crie um novo arquivo chamado
contestants.csvno 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
- Em seguida, mude para o banco de dados recém-criado:
USE tournament_db;
- Carregue os dados do arquivo
contestants.csvna tabelacontestantsusando 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.
- 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.
- 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
- 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
- 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.



