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.



