Hadoop FS Shell find

HadoopBeginner
Pratique Agora

Introdução

Neste laboratório, vamos mergulhar no mundo do Hadoop HDFS e focar no comando find do FS Shell. Imagine-se como um arqueólogo explorando um templo antigo em busca de tesouros e segredos escondidos. Seu objetivo é utilizar o comando find do FS Shell para navegar pelo vasto sistema de arquivos Hadoop, assim como desvendar artefatos ocultos em um templo.

Configurando o Ambiente

Nesta etapa, garantiremos que nosso ambiente Hadoop esteja devidamente configurado antes de utilizar o comando find do FS Shell.

Abra o terminal e siga os passos abaixo para começar.

  1. Mude para o usuário hadoop:

    su - hadoop
  2. Verifique a versão do Hadoop:

    hadoop version
  3. Crie um arquivo example.txt no diretório raiz do HDFS:

    echo "This is an example file." | hdfs dfs -put - /example.txt

Recuperar Informações do Arquivo

Nesta etapa, demonstraremos como usar o comando find do FS Shell para localizar arquivos específicos dentro do sistema de arquivos Hadoop.

  1. Pesquise por um arquivo chamado example.txt dentro do diretório raiz do HDFS:

    hdfs dfs -find / -name "example.txt"
  2. Recupere informações sobre o arquivo usando o comando stat do FS Shell:

    hdfs dfs -stat "%n %y %r" /example.txt > /home/hadoop/example_info.txt
    cat /home/hadoop/example_info.txt

O comando hdfs dfs -stat é usado para recuperar informações de status sobre arquivos ou diretórios no HDFS. Você pode usar diferentes opções de formatação para personalizar as informações de saída. Aqui estão algumas opções de formatação comumente usadas e seus significados:

  • %b: Tamanho do arquivo em bytes.
  • %n: Nome do arquivo.
  • %o: Tamanho do bloco.
  • %r: Fator de replicação.
  • %u: Nome de usuário.
  • %g: Nome do grupo.
  • %y: Tempo de modificação no formato yyyy-MM-dd HH:mm:ss.
  • %F: Tipo de arquivo (arquivo, diretório ou link simbólico).

Analisando Diretórios

Nesta etapa, exploraremos como o find do FS Shell pode ser usado para analisar diretórios e seus conteúdos.

  1. Liste todos os diretórios sob o diretório /user:

    hdfs dfs -ls /user
  2. Crie um diretório chamado superDirectory sob o diretório /user e defina suas permissões para 777 (rwxrwxrwx):

    hdfs dfs -mkdir /user/superDirectory
    hdfs dfs -chmod 777 /user/superDirectory
  3. Use o find do FS Shell para localizar o superDirectory:

    hdfs dfs -find /user -name "superDirectory"
  4. Utilize o FS Shell para identificar diretórios com permissões específicas:

    hdfs dfs -ls /user | grep '^drwxrwxrwx'

Resumo

Neste laboratório, mergulhamos no mundo do Hadoop HDFS e exploramos as capacidades do comando find do FS Shell. Ao simular uma expedição arqueológica em um templo, aprendemos como pesquisar e analisar arquivos e diretórios de forma eficaz dentro do sistema de arquivos Hadoop. Essa experiência prática proporcionou insights sobre como gerenciar e navegar por estruturas de dados complexas no Hadoop, aprimorando nossa compreensão das operações do HDFS.