Dados de Ruínas com a Magia do Hadoop

HadoopBeginner
Pratique Agora

Introdução

No coração de um deserto desolado, uma figura solitária move-se entre os vestígios de uma cidade há muito abandonada. Este é o reino do Ruin Artist, um visionário que vê beleza na decadência e potencial no esquecido. Seu objetivo é descobrir as histórias ocultas dentro das ruínas, dando nova vida às estruturas em ruínas através de sua arte.

O Ruin Artist encontrou um tesouro de dados antigos, espalhados por vários fragmentos de uma biblioteca outrora grandiosa. Para dar sentido a essa riqueza de informações e trazer ordem ao caos, eles devem aproveitar o poder do Hadoop e suas poderosas capacidades de processamento de dados, especificamente a funcionalidade de group by no Hive.

Configurando o Ambiente

Nesta etapa, configuraremos o ambiente e prepararemos os dados para nossa análise.

  1. Abra um terminal e mude para o usuário hadoop executando o seguinte comando:
su - hadoop
  1. Navegue até o diretório /home/hadoop:
cd /home/hadoop
  1. Crie um novo diretório chamado ruin-data para armazenar nosso conjunto de dados:
mkdir ruin-data
  1. Mova o conjunto de dados de exemplo para o diretório ruin-data:
cp /tmp/ruin-dataset.txt ruin-data/

Este conjunto de dados contém informações sobre vários artefatos encontrados nas ruínas, incluindo seu tipo, localização e condição.

Explorando o Conjunto de Dados

Nesta etapa, carregaremos o conjunto de dados no Hive e exploraremos sua estrutura.

  1. Inicie o shell do Hive executando o seguinte comando:
hive
  1. Crie um novo banco de dados chamado ruin_analysis:
CREATE DATABASE ruin_analysis;
  1. Use o banco de dados ruin_analysis:
USE ruin_analysis;
  1. Crie uma nova tabela externa chamada artifacts para armazenar os dados do arquivo ruin-dataset.txt:
CREATE EXTERNAL TABLE artifacts (
  artifact_id INT,
  artifact_type STRING,
  location STRING,
  condition STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

Este comando cria uma nova tabela com quatro colunas: artifact_id, artifact_type, location e condition. A tabela é configurada para ler dados do arquivo ruin-dataset.txt, que é um arquivo de texto separado por vírgulas armazenado no diretório /home/hadoop/ruin-data.

  1. Carregue os dados na tabela artifacts:
LOAD DATA LOCAL INPATH '/home/hadoop/ruin-data/ruin-dataset.txt' INTO TABLE artifacts;
  1. Verifique a estrutura da tabela executando o seguinte comando:
DESCRIBE artifacts;

Isso deve exibir os nomes das colunas e seus tipos de dados.

Agrupamento e Agregação de Dados

Nesta etapa, usaremos a cláusula GROUP BY para analisar os dados dos artefatos e descobrir padrões ocultos.

  1. No shell do Hive, execute a seguinte consulta para contar o número de artefatos para cada tipo de artefato:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type;

Esta consulta agrupa os dados por artifact_type e calcula a contagem de artefatos para cada tipo usando a função COUNT(*).

  1. Para encontrar o tipo de artefato mais comum, modifique a consulta anterior adicionando uma cláusula ORDER BY:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type
ORDER BY artifact_count DESC
LIMIT 1;

Esta consulta classifica os resultados por artifact_count em ordem decrescente e limita a saída à primeira linha, fornecendo o tipo de artefato com a contagem mais alta.

  1. Vamos analisar a condição dos artefatos com base em seu tipo. Execute a seguinte consulta:
SELECT artifact_type, condition, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type, condition
ORDER BY artifact_type, condition;

Esta consulta agrupa os dados por artifact_type e condition, conta o número de artefatos para cada combinação e classifica os resultados por artifact_type e condition.

  1. Finalmente, podemos explorar a distribuição de artefatos em diferentes locais executando a seguinte consulta:
SELECT location, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY location
ORDER BY artifact_count DESC;

Esta consulta agrupa os dados por location e conta o número de artefatos encontrados em cada local, classificados em ordem decrescente por artifact_count.

Resumo

Neste laboratório, exploramos o poder do Hive do Hadoop e sua funcionalidade GROUP BY para analisar um conjunto de dados de artefatos encontrados em uma ruína antiga. Ao configurar o ambiente, carregar os dados no Hive e executar várias consultas GROUP BY, descobrimos informações valiosas, como o tipo de artefato mais comum, a condição dos artefatos com base em seu tipo e a distribuição dos artefatos em diferentes locais.

Por meio desta experiência prática, obtivemos uma compreensão mais profunda de como o Hadoop e o Hive podem ser aproveitados para análise de dados e descoberta de padrões, especialmente ao lidar com conjuntos de dados grandes e complexos. A capacidade de agrupar e agregar dados é uma habilidade fundamental no mundo do big data, e este laboratório forneceu uma introdução prática a este conceito essencial.