Introdução
Numa cidade medieval, conhecida pela sua cultura vibrante e rica história, um menestrel errante chamado Alaric viu-se cativado pelas histórias e canções da terra. Enquanto vagava pelas ruas, dedilhando seu alaúde, ele percebeu que os arquivos da cidade precisavam urgentemente de organização. Inúmeros pergaminhos e rolos jaziam espalhados, repletos de histórias e registros do passado, mas a tarefa de classificá-los e gerenciá-los parecia assustadora.
O objetivo de Alaric era criar um sistema harmonioso, onde os registros históricos da cidade pudessem ser preservados e acessados com facilidade. Com seu amor pela narrativa e seu olhar atento à organização, ele partiu em uma jornada para aproveitar o poder do Hadoop Hive, uma ferramenta que lhe permitiria gerenciar e manipular eficientemente os vastos tesouros de dados.
Explorando os Arquivos da Cidade
Nesta etapa, mergulharemos nos arquivos da cidade, onde inúmeros pergaminhos e rolos jazem espalhados, aguardando organização. Nosso objetivo é nos familiarizarmos com os dados existentes e entender os desafios enfrentados na gestão de uma coleção tão vasta.
Primeiramente, certifique-se de estar logado como o usuário hadoop, executando o seguinte comando no terminal:
su - hadoop
Aqui, você encontrará uma coleção de arquivos contendo vários registros e contos do passado da cidade. Para obter uma visão geral dos dados disponíveis, execute o seguinte comando:
hdfs dfs -ls /home/hadoop/archives
Este comando listará os arquivos e diretórios dentro do diretório /home/hadoop/archives no Hadoop Distributed File System (HDFS).
Em seguida, vamos explorar o conteúdo de um dos arquivos. Usaremos o comando hdfs dfs -cat para visualizar o conteúdo do arquivo:
hdfs dfs -cat /home/hadoop/archives/chronicles/chapter_1.txt
Este comando exibirá o conteúdo do arquivo chapter_1.txt localizado no subdiretório chronicles.
Ao navegar pelos arquivos, você notará que alguns contêm informações irrelevantes ou desatualizadas que precisam ser removidas ou truncadas. É aqui que o poder do Hadoop Hive entra em jogo, permitindo-nos gerenciar e manipular os dados de forma eficiente.
Configurando o Hive e Explorando os Dados
Nesta etapa, configuraremos o Hive, um poderoso sistema de data warehouse construído sobre o Hadoop, e exploraremos os dados existentes em nossos arquivos.
Primeiro, abriremos a CLI do Hive:
hive
Uma vez dentro da CLI do Hive, podemos criar um novo banco de dados para armazenar os arquivos da nossa cidade:
CREATE DATABASE city_archives;
Agora, vamos mudar para o banco de dados recém-criado:
USE city_archives;
Para explorar os dados existentes, criaremos uma nova tabela e carregaremos os dados do nosso diretório de arquivos HDFS:
CREATE EXTERNAL TABLE tmp_chronicles (
chapter STRING,
content STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION '/home/hadoop/archives/chronicles';
Este código criará uma tabela externa chamada tmp_chronicles com duas colunas: chapter e content. Os dados da tabela serão carregados do diretório /home/hadoop/archives/chronicles no HDFS, e os campos serão delimitados por caracteres de tabulação.
CREATE TABLE chronicles (
chapter STRING,
content STRING
)
STORED AS ORC
TBLPROPERTIES ('transactional'='true');
Este código criará uma tabela chamada chronicles com duas colunas: chapter e content. A cláusula STORED AS ORC especifica que os dados serão armazenados no formato de arquivo ORC. A cláusula TBLPROPERTIES especifica que a tabela é transacional, o que significa que ela suporta transações ACID.
INSERT INTO TABLE chronicles SELECT * FROM tmp_chronicles;
Este código inserirá todos os dados da tabela temporária tmp_chronicles na tabela chronicles.
Agora, podemos consultar a tabela chronicles para ver seu conteúdo:
SELECT * FROM chronicles LIMIT 5;
Este comando exibirá as primeiras 5 linhas da tabela chronicles, dando-nos um vislumbre dos dados com os quais trabalharemos.
Excluindo e Truncando Dados
Nesta etapa, aprenderemos como excluir e truncar dados de nossas tabelas Hive, permitindo-nos gerenciar e manter os arquivos da cidade de forma eficiente.
Às vezes, podemos precisar remover dados desatualizados ou irrelevantes de nossas tabelas. No Hive, podemos usar a instrução DELETE para remover linhas específicas que correspondem a uma determinada condição.
Por exemplo, digamos que queremos remover todos os capítulos que contêm a palavra "desatualizado" da tabela chronicles:
DELETE FROM chronicles WHERE content LIKE '%outdated%';
Este comando excluirá todas as linhas da tabela chronicles onde a coluna content contém a palavra "desatualizado".
No entanto, se quisermos remover todos os dados de uma tabela, podemos usar a instrução TRUNCATE em vez de excluir linhas individualmente. Essa operação é mais eficiente e rápida do que excluir linhas uma por uma.
TRUNCATE TABLE chronicles;
Este comando removerá todos os dados da tabela chronicles, deixando-a vazia.
Ao dominar essas técnicas de exclusão e truncamento, podemos manter a integridade e a relevância dos arquivos de nossa cidade, garantindo que apenas as informações mais valiosas e atualizadas sejam preservadas.
Resumo
Neste laboratório, embarcamos em uma jornada para organizar e manter os arquivos da cidade usando o Hadoop Hive. Através dos olhos de Alaric, o menestrel errante, exploramos os desafios de gerenciar vastas coleções de registros históricos e aprendemos a aproveitar o poder do Hive para excluir e truncar dados de forma eficiente.
Ao mergulhar no diretório de arquivos e configurar o Hive, ganhamos experiência prática na criação de bancos de dados, tabelas e carregamento de dados no Hive. Em seguida, dominamos a arte de excluir linhas específicas e truncar tabelas inteiras, permitindo-nos remover informações desatualizadas ou irrelevantes dos arquivos da cidade.
Ao longo deste laboratório, não apenas adquirimos habilidades práticas em gerenciamento de dados, mas também descobrimos a beleza de combinar a narrativa com a tecnologia. A busca de Alaric para preservar a rica herança cultural da cidade serve como um lembrete de que os dados são mais do que apenas números e figuras; é uma tapeçaria de histórias esperando para serem tecidas e compartilhadas.



