Compressão de Dados de Gemas com Hadoop

HadoopBeginner
Pratique Agora

Introdução

Bem-vindo à Royale Academy of Magical Arts, uma instituição prestigiosa dedicada ao estudo e domínio do conhecimento arcano. Neste reino, uma equipe de estimados Gemstone Researchers (Pesquisadores de Gemas) é encarregada de desvendar os segredos das gemas encantadas, cujas propriedades místicas detêm a chave para a compreensão da própria estrutura da realidade.

Seu papel como um habilidoso Gemstone Researcher é aproveitar o poder do ecossistema Hadoop, especificamente o Hive, para analisar e comprimir vastos conjuntos de dados de gemas. O objetivo é otimizar o armazenamento e a eficiência do processamento, permitindo que você desvende os padrões intrincados e os mistérios ocultos dentro desses artefatos encantados.

Configurar o Repositório de Dados de Gemas

Nesta etapa, você criará uma tabela Hive para armazenar os dados das gemas e a preencherá com registros de amostra.

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

su - hadoop

Em seguida, inicie o shell do Hive executando o seguinte comando:

hive

Agora, crie um novo banco de dados Hive chamado gemstone_db:

CREATE DATABASE gemstone_db;

Use o novo banco de dados:

USE gemstone_db;

Em seguida, crie uma tabela chamada gemstones com colunas para id, name, color, origin e enchantment:

CREATE TABLE gemstones (
  id INT,
  name STRING,
  color STRING,
  origin STRING,
  enchantment STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Finalmente, carregue dados de amostra do arquivo /home/hadoop/gemstone_data.csv na tabela gemstones:

LOAD DATA LOCAL INPATH '/home/hadoop/gemstone_data.csv' OVERWRITE INTO TABLE gemstones;

Comprimir os Dados das Gemas

Para otimizar o armazenamento e a eficiência do processamento, comprimiremos os dados das gemas usando os recursos de compressão integrados do Hive.

Primeiro, crie uma nova tabela gemstones_compressed com o mesmo esquema da tabela original gemstones:

CREATE TABLE gemstones_compressed (
  id INT,
  name STRING,
  color STRING,
  origin STRING,
  enchantment STRING
) STORED AS ORC
TBLPROPERTIES ('orc.compress'='SNAPPY');
  • Especifique a cláusula STORED AS ORC para usar o formato de arquivo Optimized Row Columnar (ORC), que fornece compressão e armazenamento eficientes.
  • Defina a propriedade da tabela orc.compress como SNAPPY, que habilita a compressão Snappy para os arquivos ORC.

Em seguida, insira dados da tabela original gemstones na tabela gemstones_compressed:

INSERT INTO TABLE gemstones_compressed SELECT * FROM gemstones;

Consultar os Dados Comprimidos

Agora que os dados das gemas estão comprimidos, você pode consultá-los eficientemente usando o Hive.

Primeiro, execute uma consulta COUNT(*) simples na tabela gemstones_compressed para verificar a integridade dos dados:

SELECT COUNT(*) FROM gemstones_compressed;

Em seguida, execute uma consulta GROUP BY para contar o número de gemas para cada cor:

SELECT color, COUNT(*) AS count FROM gemstones_compressed GROUP BY color;

Resumo

Neste laboratório, você aprendeu como aproveitar os recursos de compressão do Hive para otimizar o armazenamento e a eficiência do processamento para grandes conjuntos de dados. Ao criar uma tabela ORC comprimida e carregar dados nela, você conseguiu reduzir significativamente a pegada de armazenamento, mantendo o desempenho das consultas.

Ao longo do processo, você adquiriu experiência prática na criação de bancos de dados e tabelas Hive, carregamento de dados e consulta de dados comprimidos. Este conhecimento prático será inestimável à medida que você continua sua pesquisa sobre as propriedades místicas das gemas encantadas, permitindo que você descubra padrões e insights ocultos de forma mais eficiente.