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 ORCpara usar o formato de arquivo Optimized Row Columnar (ORC), que fornece compressão e armazenamento eficientes. - Defina a propriedade da tabela
orc.compresscomoSNAPPY, 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.



