Introdução
Na vasta extensão do contínuo espaço-tempo, uma força misteriosa surgiu, empunhando o poder de manipular o próprio tecido do tempo. Uma figura nefasta, conhecida apenas como o Manipulador do Tempo (Time Manipulator), fixou seus olhos em perturbar o delicado equilíbrio do universo. Sua missão, caso decida aceitá-la, é navegar por um labirinto de desafios cronológicos e dominar a arte das consultas Hadoop Hive, desvendando os segredos que o ajudarão a frustrar os planos sinistros do Manipulador do Tempo.
O Manipulador do Tempo espalhou fragmentos de dados temporais por várias dimensões, e é sua tarefa aproveitar o poder do Hadoop Hive para coletar, analisar e interpretar essas peças de informação dispersas. Somente dominando as complexidades das consultas HiveQL você poderá desvendar os mistérios escondidos nos dados e restaurar a ordem no contínuo espaço-tempo.
Configurando o Ambiente
Nesta etapa, você preparará seu ambiente para os próximos desafios, configurando um cluster Hadoop e configurando o Hive metastore.
- Abra um terminal e mude para o usuário
hadoopexecutando o seguinte comando:
su - hadoop
- Navegue até o diretório
/home/hadoop:
cd /home/hadoop
- Crie um novo diretório chamado
hive_lab:
mkdir hive_lab
- Entre no diretório
hive_lab:
cd hive_lab
- Execute o seguinte comando para iniciar o Hive metastore:
hive --service metastore
Este comando iniciará o serviço Hive metastore, que é essencial para gerenciar os metadados de bancos de dados, tabelas e partições do Hive.
Criando um Banco de Dados e Tabela no Hive
Nesta etapa, você criará um banco de dados Hive e uma tabela para armazenar os fragmentos de dados temporais.
- Abra uma nova janela de terminal e mude para o usuário
hadoop:
su - hadoop
- Inicie o shell Hive:
hive
- Dentro do shell Hive, crie um novo banco de dados chamado
time_fragments:
CREATE DATABASE time_fragments;
- Mude para o banco de dados
time_fragments:
USE time_fragments;
- Crie uma tabela chamada
event_logscom o seguinte esquema:
CREATE TABLE event_logs (
event_id INT,
event_name STRING,
event_timestamp TIMESTAMP,
event_location STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
Esta tabela armazenará os fragmentos de dados temporais, incluindo um ID do evento, nome do evento, timestamp e localização.
- Saia do shell Hive:
EXIT;
Carregando Dados na Tabela Hive
Nesta etapa, você carregará os fragmentos de dados temporais na tabela event_logs que você criou na etapa anterior.
- Crie um novo arquivo chamado
event_data.csvno diretóriohive_lab:
nano event_data.csv
- Copie e cole os seguintes dados no arquivo
event_data.csv:
1,Time Warp,2023-05-01 10:00:00,New York
2,Chrono Shift,2023-05-02 14:30:00,Tokyo
3,Temporal Distortion,2023-05-03 08:15:00,London
4,Paradox Pulse,2023-05-04 19:45:00,Sydney
5,Quantum Leap,2023-05-05 06:00:00,Moscow
Salve o arquivo e saia do editor de texto.
Carregue os dados do arquivo
event_data.csvna tabelaevent_logsusando o seguinte comando:
hive -e "LOAD DATA LOCAL INPATH '/home/hadoop/hive_lab/event_data.csv' OVERWRITE INTO TABLE time_fragments.event_logs;"
Este comando carregará os dados do arquivo local event_data.csv na tabela event_logs no banco de dados time_fragments.
Consultando a Tabela Hive
Nesta etapa, você praticará a escrita de consultas HiveQL para analisar os fragmentos de dados temporais armazenados na tabela event_logs.
- Inicie o shell Hive:
hive
- Mude para o banco de dados
time_fragments:
USE time_fragments;
- Escreva uma consulta para selecionar todas as colunas da tabela
event_logs:
SELECT * FROM event_logs;
Esta consulta exibirá todas as linhas e colunas da tabela event_logs.
- Escreva uma consulta para contar o número de eventos que ocorreram em cada local:
CREATE TABLE result_1
AS
SELECT event_location, COUNT(*) AS event_count
FROM event_logs
GROUP BY event_location;
SELECT * FROM result_1;
Esta consulta agrupará os eventos por local e contará o número de eventos para cada local.
- Escreva uma consulta para encontrar o evento com o timestamp mais antigo:
CREATE TABLE result_2
AS
SELECT * FROM event_logs
ORDER BY event_timestamp ASC
LIMIT 1;
SELECT * FROM result_2;
Esta consulta ordenará os eventos pela coluna event_timestamp em ordem crescente e retornará a primeira linha, que corresponde ao evento com o timestamp mais antigo.
- Saia do shell Hive:
EXIT;
Resumo
Neste laboratório, você embarcou em uma missão emocionante para desvendar os mistérios do contínuo espaço-tempo e frustrar os planos nefastos do Manipulador do Tempo. Através de uma série de etapas práticas, você configurou um ambiente Hadoop, criou um banco de dados e uma tabela Hive, carregou fragmentos de dados temporais e dominou a arte de escrever consultas HiveQL para analisar e interpretar os dados.
Ao concluir com sucesso este laboratório, você adquiriu uma experiência inestimável em trabalhar com Hadoop Hive, uma poderosa solução de data warehousing que permite o armazenamento, a recuperação e a análise eficientes de dados. Você aprendeu como criar bancos de dados e tabelas, carregar dados em tabelas Hive e consultar os dados usando vários comandos HiveQL, como SELECT, GROUP BY e ORDER BY.
Suas novas habilidades em Hadoop Hive serão instrumentais para desvendar os mistérios do contínuo espaço-tempo e, em última análise, impedir os planos traiçoeiros do Manipulador do Tempo. Parabéns por suas conquistas, e que sua jornada através do labirinto de desafios cronológicos continue com ainda mais sucesso!



