Jornada de Dados Unificados: Integração com Hadoop

HadoopBeginner
Pratique Agora

Introdução

No reino místico de Datagonia, um valente cavaleiro de dados chamado Lionheart embarcou em uma jornada extraordinária. A prosperidade do reino dependia de aproveitar o poder dos dados, e a missão de Lionheart era unificar conjuntos de dados diversos espalhados por toda a terra. Com suas fiéis ferramentas Hadoop ao seu lado, ele partiu para conquistar os desafios que o aguardavam.

Os vastos campos do reino continham informações valiosas sobre a produção de culturas, condições do solo e padrões climáticos. Nas minas, dados sobre depósitos minerais e taxas de extração aguardavam integração. As cidades movimentadas fervilhavam com registros de comércio, negócios e dinâmica populacional. O objetivo de Lionheart era combinar essas fontes de dados díspares em um conjunto de dados unificado e abrangente que capacitaria os tomadores de decisão do reino e impulsionaria o progresso.

Criar Dados de Exemplo

Nesta etapa, criaremos alguns arquivos de dados de amostra para explorar o poder do operador UNION no Hive.

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

su - hadoop

Em seguida, navegue até o diretório /home/hadoop/data e crie um novo diretório chamado crops:

mkdir -p /home/hadoop/data/crops

Em seguida, crie dois arquivos chamados wheat.csv e corn.csv no diretório crops com o seguinte conteúdo:

wheat.csv:

North,2020,50
South,2020,45
East,2020,48
West,2020,42

corn.csv:

North,2020,50
South,2020,58
East,2020,62
West,2020,55

Você pode usar qualquer editor de texto de sua escolha para criar esses arquivos.

Carregar Dados em Tabelas Hive

Nesta etapa, criaremos tabelas Hive e carregaremos os dados de amostra nelas.

Primeiro, inicie o Hive CLI executando o seguinte comando no terminal:

hive

Uma vez no Hive CLI, crie um banco de dados chamado agriculture:

CREATE DATABASE agriculture;

Em seguida, mude para o banco de dados agriculture:

USE agriculture;

Crie uma tabela chamada wheat com o esquema apropriado:

CREATE TABLE wheat (
  region STRING,
  year INT,
  yield INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Carregue os dados wheat.csv na tabela wheat:

LOAD DATA LOCAL INPATH '/home/hadoop/data/crops/wheat.csv' OVERWRITE INTO TABLE wheat;

Repita o processo para a tabela corn:

CREATE TABLE corn (
  region STRING,
  year INT,
  yield INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/data/crops/corn.csv' OVERWRITE INTO TABLE corn;

Você pode verificar os dados nas tabelas usando a instrução SELECT:

SELECT * FROM wheat;
SELECT * FROM corn;

Executar Operação UNION

Agora que temos nossos dados carregados nas tabelas Hive, podemos usar o operador UNION para combinar os resultados de duas ou mais consultas.

No Hive CLI, execute a seguinte consulta:

CREATE TABLE result_1
AS
SELECT region, year, yield FROM wheat
UNION
SELECT region, year, yield FROM corn;

SELECT * FROM result_1;

Esta consulta combinará os resultados das tabelas wheat e corn, efetivamente criando um conjunto de dados unificado com todas as regiões, anos e rendimentos.

Você também pode executar UNION ALL, que inclui linhas duplicadas no conjunto de resultados:

SELECT region, year, yield FROM wheat
UNION ALL
SELECT region, year, yield FROM corn;

Observe que os nomes das colunas e os tipos de dados devem corresponder em todas as consultas usadas na operação UNION ou UNION ALL.

Operações UNION Avançadas (Opcional)

Você pode explorar ainda mais o operador UNION combinando consultas mais complexas ou usando-o com outras construções do Hive, como filtragem ou agregação.

Por exemplo, você pode combinar os resultados de uma consulta GROUP BY com outra consulta:

CREATE TABLE result_2
AS
SELECT region, SUM(yield) AS total_yield FROM wheat GROUP BY region
UNION
SELECT region, yield FROM corn;

SELECT * FROM result_2;

Ou, você pode filtrar os resultados antes de combiná-los:

SELECT region, year, yield FROM wheat WHERE year = 2020
UNION
SELECT region, year, yield FROM corn WHERE year = 2020 AND yield > 60;

Sinta-se à vontade para experimentar diferentes combinações e ver como o operador UNION pode ajudá-lo a consolidar dados de múltiplas fontes.

Resumo

Neste laboratório, exploramos o uso do operador UNION no Apache Hive, uma ferramenta poderosa para data warehousing e análise no ecossistema Hadoop. Ao criar conjuntos de dados de exemplo e carregá-los em tabelas Hive, aprendemos como combinar os resultados de múltiplas consultas usando UNION e UNION ALL. Este recurso poderoso nos permite consolidar dados de várias fontes, possibilitando análises abrangentes e tomada de decisões informadas.

Através da jornada de Lionheart, o cavaleiro dos dados, testemunhamos o poder transformador da integração de dados. Ao unificar conjuntos de dados díspares dos campos, minas e cidades do reino, Lionheart empoderou os tomadores de decisão com uma visão abrangente, abrindo caminho para o progresso e a prosperidade no reino de Datagonia.

Este laboratório não apenas proporcionou experiência prática com o Hive e o operador UNION, mas também serviu como um lembrete da importância da consolidação de dados para desbloquear insights e impulsionar a inovação. Ao dominar essas técnicas, podemos nos tornar cavaleiros dos dados, armados com as ferramentas para conquistar desafios complexos de dados e moldar um futuro mais brilhante.