Introdução
Bem-vindo ao reino do Sobrenatural, onde as forças cósmicas se entrelaçam com a existência mortal. Neste cenário de outro mundo, você assumirá o papel de Ezequiel, o líder celestial encarregado de salvaguardar o conhecimento etéreo que transcende o tempo e o espaço. Sua missão é aproveitar o poder do Hadoop, uma plataforma robusta de gerenciamento de dados, para preservar e disseminar essa sabedoria inestimável por todos os reinos celestiais.
Como Ezequiel, você supervisiona os Arquivos Celestiais, um vasto repositório contendo o conhecimento acumulado de eras. No entanto, o volume de dados se tornou avassalador, e você precisa de um sistema sofisticado para organizar e distribuir essa informação de forma eficiente. Entre em cena o Hadoop, uma ferramenta poderosa que permitirá que você carregue, processe e compartilhe os insights celestiais com seus companheiros seres celestiais.
Seu objetivo é dominar a arte de carregar e inserir dados no sistema de arquivos distribuídos do Hadoop e no Hive, um sistema de data warehouse de código aberto construído sobre o Hadoop. Ao fazer isso, você desvendará os segredos dos Arquivos Celestiais, garantindo que a sabedoria das eras permaneça acessível àqueles que buscam a iluminação.
Copiando Dados para o Hadoop Distributed File System (HDFS)
Nesta etapa, você aprenderá como transferir dados do seu sistema de arquivos local para o Hadoop Distributed File System (HDFS), a pedra angular do ecossistema Hadoop. O HDFS foi projetado para armazenar e gerenciar grandes volumes de dados em vários nós, garantindo redundância de dados e tolerância a falhas.
Primeiro, certifique-se de estar logado como o usuário hadoop executando o seguinte comando no terminal:
su - hadoop
Agora, vamos criar um arquivo de dados de exemplo no seu sistema de arquivos local:
echo "Hello, Celestial Realm" > /home/hadoop/celestial_data.txt
Este comando cria um arquivo de texto chamado celestial_data.txt com o conteúdo "Hello, Celestial Realm!" no seu diretório /home/hadoop.
Em seguida, copiaremos este arquivo para o HDFS usando o comando hadoop fs:
hadoop fs -mkdir -p /home/hadoop/celestial_archives
hadoop fs -put /home/hadoop/celestial_data.txt /home/hadoop/celestial_archives
Aqui está o que este comando faz:
hadoop fsé um utilitário de linha de comando para interagir com o HDFS.-mkdir: é um subcomando do comandohadoop fspara criar um diretório.-p: é uma opção para criar o diretório pai recursivamente. Se o diretório pai não existir no caminho especificado, ele será criado junto com ele.-puté a operação para copiar um arquivo do sistema de arquivos local para o HDFS./home/hadoop/celestial_data.txté o caminho do arquivo de origem no seu sistema de arquivos local./home/hadoop/celestial_archivesé o caminho do diretório de destino no HDFS.
Após executar este comando, você deverá ver uma mensagem de sucesso confirmando que o arquivo foi copiado para o HDFS.
Criando uma Tabela Hive e Carregando Dados
Nesta etapa, você aprenderá como criar uma tabela Hive e carregar os dados do HDFS para a tabela. O Hive é uma ferramenta poderosa de data warehousing construída sobre o Hadoop, projetada para sumarização, consulta e análise eficientes de dados.
Primeiro, vamos iniciar o Hive CLI executando o seguinte comando:
hive
Isso abrirá o shell interativo do Hive, onde você pode executar consultas e comandos do Hive.
Em seguida, criaremos uma nova tabela Hive chamada celestial_archives para armazenar nossos dados:
CREATE TABLE celestial_archives (message STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
Aqui está o que esta consulta Hive faz:
CREATE TABLE celestial_archivescria uma nova tabela chamadacelestial_archives.(message STRING)define uma única coluna chamadamessagecom um tipo de dadosSTRING.ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'especifica que cada linha no arquivo de dados é delimitada por um caractere de tabulação (\t).STORED AS TEXTFILEindica que os dados da tabela serão armazenados como arquivos de texto simples no HDFS.
Depois de criar a tabela, carregaremos os dados do HDFS para a tabela Hive usando o comando LOAD DATA:
LOAD DATA INPATH '/home/hadoop/celestial_archives/celestial_data.txt' INTO TABLE celestial_archives;
Este comando carrega os dados do arquivo /home/hadoop/celestial_archives/celestial_data.txt no HDFS para a tabela Hive celestial_archives.
Finalmente, você pode consultar a tabela para verificar se os dados foram carregados corretamente:
SELECT * FROM celestial_archives;
Esta consulta deve exibir o conteúdo da tabela celestial_archives, que deve ser a mensagem "Hello, Celestial Realm!".
Resumo
Neste laboratório, você assumiu o papel de Ezequiel, o líder celestial encarregado de salvaguardar o conhecimento etéreo dos Arquivos Celestiais. Ao dominar a arte de carregar e inserir dados no Hadoop's Distributed File System (HDFS) e no Hive, você deu um passo crucial para preservar e disseminar essa sabedoria inestimável por todos os reinos celestiais.
Através de exercícios práticos, você aprendeu como copiar dados do seu sistema de arquivos local para o HDFS, criar tabelas Hive e carregar dados do HDFS para essas tabelas. Ao realizar essas tarefas, você desvendou os segredos dos Arquivos Celestiais, garantindo que o conhecimento das eras permaneça acessível àqueles que buscam a iluminação.
Este laboratório não apenas o equipou com habilidades práticas para trabalhar com Hadoop e Hive, mas também o desafiou a pensar criativamente e aplicar essas ferramentas a um cenário único e de outro mundo. A jornada de preservação do conhecimento celestial apenas começou, e as habilidades que você adquiriu serão inestimáveis à medida que você continuar a explorar os vastos reinos do gerenciamento e análise de dados.



