Expedição de Dados no Hadoop Hive

HadoopBeginner
Pratique Agora

Introdução

No ano de 2165, a Terra foi devastada por uma guerra catastrófica que durou décadas. Os humanos sobreviventes buscaram refúgio em planetas distantes, estabelecendo novas colônias para reconstruir sua civilização. Uma dessas colônias, localizada no planeta Xylonia, era habitada por uma espécie tecnologicamente avançada conhecida como Blaxters.

Os Blaxters dominaram a arte da gestão de dados, utilizando sistemas avançados como o Hadoop para armazenar e processar grandes quantidades de informação. Como um Engenheiro de Dados recém-nomeado para a colônia Xyloniana, sua missão é aprender as complexidades do sistema de gerenciamento de banco de dados Hadoop Hive, garantindo o armazenamento e a recuperação eficientes de dados críticos necessários para a sobrevivência e o crescimento da colônia.

Seu objetivo é auxiliar os Blaxters na gestão de seus vastos repositórios de dados, aproveitando o poder do Hadoop Hive para organizar, consultar e analisar as informações vitais para sua pesquisa científica, gestão de recursos e planejamento estratégico.

Criando um Banco de Dados

Nesta etapa, você aprenderá como criar um novo banco de dados no Hadoop Hive. Este banco de dados servirá como um repositório central para armazenar e organizar os dados da colônia.

Primeiramente, certifique-se de estar logado como o usuário hadoop executando o seguinte comando no terminal:

su - hadoop

Uma vez no ambiente do usuário hadoop, navegue até o diretório /home/hadoop:

cd /home/hadoop

Agora, inicie o shell do Hive executando o seguinte comando:

hive

Dentro do shell do Hive, crie um novo banco de dados chamado xylonia_colony usando a seguinte instrução SQL:

CREATE DATABASE xylonia_colony;

Para verificar a criação bem-sucedida do banco de dados, você pode listar todos os bancos de dados disponíveis usando o seguinte comando:

SHOW DATABASES;

Isso deve exibir o banco de dados xylonia_colony recém-criado, juntamente com quaisquer outros bancos de dados existentes.

Criando uma Tabela

Nesta etapa, você aprenderá como criar uma tabela dentro do banco de dados xylonia_colony para armazenar dados relacionados aos recursos da colônia.

Primeiramente, certifique-se de estar no shell do Hive. Caso contrário, inicie-o executando o seguinte comando:

hive

Mude para o banco de dados xylonia_colony usando o seguinte comando:

USE xylonia_colony;

Crie uma nova tabela chamada resources com as seguintes colunas: resource_id (INT), resource_name (STRING), quantity (DOUBLE) e unit (STRING). Use a seguinte instrução SQL:

CREATE TABLE resources (
    resource_id INT,
    resource_name STRING,
    quantity DOUBLE,
    unit STRING
);

Para verificar a criação bem-sucedida da tabela, liste todas as tabelas no banco de dados xylonia_colony usando o seguinte comando:

SHOW TABLES;

Isso deve exibir a tabela resources.

Inserindo Dados

Nesta etapa, você aprenderá como inserir dados na tabela resources que você criou na etapa anterior.

Primeiramente, certifique-se de estar no shell do Hive. Caso contrário, inicie-o executando o seguinte comando:

hive

Mude para o banco de dados xylonia_colony usando o seguinte comando:

USE xylonia_colony;

Insira alguns dados de exemplo na tabela resources usando as seguintes instruções SQL:

INSERT INTO resources VALUES (1, 'Oxygen', 500.0, 'Tons');
INSERT INTO resources VALUES (2, 'Water', 1000.0, 'Gallons');
INSERT INTO resources VALUES (3, 'Food', 200.0, 'Tons');

Para verificar a inserção bem-sucedida dos dados, consulte a tabela resources usando o seguinte comando:

SELECT * FROM resources;

Isso deve exibir as três linhas de dados que você inseriu.

Consultando Dados

Nesta etapa, você aprenderá como consultar dados da tabela resources usando várias instruções SQL.

Primeiramente, certifique-se de estar no shell do Hive. Caso contrário, inicie-o executando o seguinte comando:

hive

Mude para o banco de dados xylonia_colony usando o seguinte comando:

USE xylonia_colony;

Consulte a tabela resources para recuperar todos os recursos onde a quantidade é maior que 500:

SELECT * FROM resources WHERE quantity > 500;

Isso deve exibir as linhas onde o valor da coluna quantity é maior que 500.

Você também pode realizar funções agregadas como SUM ou AVG nos dados. Por exemplo, calcule a quantidade total de todos os recursos:

SELECT SUM(quantity) AS total_quantity FROM resources;

Isso exibirá a soma de todos os valores de quantity na tabela resources.

Criando uma Tabela Particionada

Nesta etapa, você aprenderá como criar uma tabela particionada no Hive, o que pode melhorar o desempenho das consultas, reduzindo a quantidade de dados que precisam ser verificados.

Primeiramente, certifique-se de estar no shell do Hive. Caso contrário, inicie-o executando o seguinte comando:

hive

Mude para o banco de dados xylonia_colony usando o seguinte comando:

USE xylonia_colony;

Crie uma nova tabela particionada chamada sensor_data com as colunas sensor_id (INT), sensor_name (STRING), reading (DOUBLE) e particionada por dt (STRING):

CREATE TABLE sensor_data (
    sensor_id INT,
    sensor_name STRING,
    reading DOUBLE
)
PARTITIONED BY (dt STRING);

Para inserir dados na tabela particionada, você precisa especificar o valor da chave de partição junto com os valores das colunas. Por exemplo:

INSERT INTO sensor_data PARTITION (dt='2023-05-01')
VALUES (1, 'Temperature Sensor', 25.5), (2, 'Humidity Sensor', 60.0);

Isso insere duas linhas de dados na tabela sensor_data, particionadas por dt com o valor 2023-05-01.

Você pode consultar a tabela particionada como qualquer outra tabela, mas também pode filtrar os dados com base na chave de partição:

SELECT * FROM sensor_data WHERE dt='2023-05-01';

Isso verificará apenas a partição correspondente a 2023-05-01, potencialmente melhorando o desempenho da consulta.

Resumo

Neste laboratório, você aprendeu como gerenciar bancos de dados e tabelas no Hadoop Hive, uma poderosa ferramenta de data warehousing dentro do ecossistema Hadoop. Você criou um novo banco de dados e tabela, inseriu dados e consultou os dados usando instruções SQL. Além disso, você explorou tabelas particionadas, que podem melhorar o desempenho das consultas, reduzindo a quantidade de dados que precisam ser verificados.

Através desta experiência prática, você adquiriu habilidades práticas no gerenciamento de repositórios de dados usando o Hadoop Hive, um componente crucial nos sistemas avançados de gerenciamento de dados da Blaxters. Ao dominar essas técnicas, você deu um passo significativo para apoiar os esforços da colônia Xylonian em pesquisa científica, gerenciamento de recursos e planejamento estratégico.