Domínio de Dados Celestiais

HadoopBeginner
Pratique Agora

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 comando hadoop fs para 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_archives cria uma nova tabela chamada celestial_archives.
  • (message STRING) define uma única coluna chamada message com um tipo de dados STRING.
  • 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 TEXTFILE indica 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.