Otimização de Recursos Espaciais com Hadoop

HadoopBeginner
Pratique Agora

Introdução

Bem-vindo à Estação Comercial Intergaláctica, um centro movimentado onde comerciantes e viajantes de toda a galáxia convergem para trocar bens e serviços. Como um habilidoso Mecânico de Estação Espacial, sua experiência é muito procurada para manter os sistemas da estação funcionando sem problemas. Hoje, você foi encarregado de analisar e otimizar a alocação de recursos da estação, classificando dados com base em padrões de uso.

Seu objetivo é desenvolver uma solução baseada em Hadoop que possa processar e classificar eficientemente grandes conjuntos de dados, garantindo que os recursos da estação sejam alocados de forma eficiente para atender às demandas sempre mutáveis de seus diversos visitantes.

Configurar o Ambiente

Nesta etapa, configuraremos o ambiente para nosso projeto Hadoop e criaremos um conjunto de dados de amostra.

  1. Abra um terminal e mude para o usuário hadoop executando o seguinte comando:
su - hadoop
  1. Crie um novo diretório chamado sorting_lab no diretório /home/hadoop:
mkdir /home/hadoop/sorting_lab
  1. Navegue até o diretório sorting_lab:
cd /home/hadoop/sorting_lab
  1. Crie um conjunto de dados de amostra executando o seguinte comando:
echo -e "apple\t5\nbanana\t3\norange\t7\ngrape\t2\nstrawberry\t6" > fruit_sales.txt

Este comando cria um arquivo chamado fruit_sales.txt com o seguinte conteúdo:

apple   5
banana  3
orange  7
grape   2
strawberry  6

Cada linha no arquivo representa uma fruta e sua contagem de vendas, separadas por um caractere de tabulação.

Carregar Dados no Hive

Nesta etapa, criaremos uma tabela Hive e carregaremos o conjunto de dados de amostra nela.

  1. Inicie o shell do Hive executando o seguinte comando:
hive
  1. Crie um novo banco de dados chamado sorting_db:
CREATE DATABASE sorting_db;
  1. Use o banco de dados sorting_db:
USE sorting_db;
  1. Crie uma nova tabela chamada fruit_sales com duas colunas: fruit (string) e count (int):
CREATE TABLE fruit_sales (fruit STRING, count INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
  1. Carregue o arquivo fruit_sales.txt na tabela fruit_sales:
LOAD DATA LOCAL INPATH '/home/hadoop/sorting_lab/fruit_sales.txt' OVERWRITE INTO TABLE fruit_sales;
  1. Verifique se os dados foram carregados corretamente executando uma consulta SELECT:
SELECT * FROM fruit_sales;

Isso deve gerar:

apple   5
banana  3
orange  7
grape   2
strawberry  6
  1. Saia do shell do Hive executando o seguinte comando:
quit;

Ordenar Dados por Uso

Nesta etapa, ordenaremos a tabela fruit_sales pela coluna count em ordem decrescente usando a cláusula ORDER BY do Hive.

  1. Inicie o shell do Hive executando o seguinte comando:
hive
  1. Use o banco de dados sorting_db:
USE sorting_db;
  1. Execute a seguinte consulta para ordenar a tabela fruit_sales pela coluna count em ordem decrescente:
CREATE TABLE result AS
SELECT * FROM fruit_sales ORDER BY count DESC;
SELECT * FROM result;

Isso deve gerar:

orange  7
strawberry  6
apple   5
banana  3
grape   2
  1. Saia do shell do Hive executando o seguinte comando:
quit;

Resumo

Neste laboratório, exploramos o recurso "ordenar por Uso" no Hadoop Hive. Começamos configurando o ambiente e criando um conjunto de dados de amostra. Em seguida, aprendemos como carregar os dados em uma tabela Hive e ordenar a tabela por uma coluna específica usando a cláusula ORDER BY.

O laboratório proporcionou experiência prática no trabalho com o Hive e demonstrou como ordenar dados com base em padrões de uso. Ao dominar essa habilidade, você pode analisar e otimizar eficientemente a alocação de recursos em vários cenários, como a Estação Comercial Intergaláctica.

Ao longo do laboratório, também usamos verificadores (checkers) para verificar a conclusão bem-sucedida de cada etapa, garantindo que você tenha adquirido o conhecimento e a experiência prática necessários para enfrentar desafios semelhantes no futuro.