Hadoop FS Shell cp

HadoopBeginner
Pratique Agora

Introdução

Bem-vindo ao carnaval mágico onde o extraordinário mágico está pronto para exibir as maravilhas do HDFS do Hadoop com a habilidade copy. Neste cenário encantador, o mágico visa demonstrar como copiar arquivos usando o comando Hadoop FS Shell, proporcionando um toque mágico à sua jornada de habilidades Hadoop.

Copiando Arquivos Usando o Hadoop FS Shell

Nesta etapa, aprenderemos como copiar arquivos no Hadoop usando o comando cp do FS Shell.

  1. Mude para o usuário hadoop no terminal:

    su - hadoop
  2. Crie um arquivo de teste chamado source.txt no diretório /home/hadoop. Execute os seguintes comandos:

    echo "This is a test file." > /home/hadoop/source.txt
  3. Agora, vamos copiar o arquivo local source.txt para um novo arquivo de destino chamado destination.txt no HDFS. Use o seguinte comando:

    hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txt
  4. Verifique se o arquivo foi copiado com sucesso. Você pode listar os arquivos em / para confirmar.

    hdfs dfs -ls /

Cópia Recursiva de Arquivos com Hadoop FS Shell

Nesta etapa, aprimoraremos nossas habilidades de cópia de arquivos copiando diretórios recursivamente usando o comando Hadoop FS Shell.

  1. Crie um diretório chamado source_dir em / e um subdiretório chamado subdir em /source_dir/. Execute os seguintes comandos:

    hdfs dfs -mkdir /source_dir
    hdfs dfs -mkdir /source_dir/subdir
  2. Coloque um arquivo de teste chamado file1.txt dentro do diretório subdir. Use o comando abaixo:

    echo "Contents of file1" > /home/hadoop/file1.txt
    hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/
  3. Copie todo o diretório source_dir para um novo destino chamado destination_dir recursivamente. Tente o seguinte comando:

    hdfs dfs -cp /source_dir/ /destination_dir

Certamente! O comando hdfs dfs -cp /source_dir /destination_dir tem os seguintes componentes:

  1. hdfs dfs -cp: Esta parte indica o uso do comando cp do Hadoop Distributed File System (HDFS), que é usado para copiar arquivos ou diretórios.
  2. /source_dir/*: Isso representa o caminho do diretório de origem. O curinga * corresponde a todos os arquivos e subdiretórios dentro deste diretório.
  3. /destination_dir: Este é o caminho do diretório de destino onde você deseja copiar os arquivos.

Em resumo, este comando copia todos os arquivos e subdiretórios de /source_dir para /destination_dir, preservando os atributos originais dos arquivos.

  1. Valide a cópia recursiva listando o conteúdo do diretório destination_dir.

    hdfs dfs -ls -R /destination_dir

Resumo

Neste laboratório, mergulhamos no mundo mágico do Hadoop HDFS com foco nos comandos hdfs dfs -copyFromLocal e hdfs dfs -copy. Ao criar cenários envolventes e fornecer prática prática, este laboratório teve como objetivo aprimorar sua compreensão das operações de cópia de arquivos no Hadoop. Lembre-se, a prática leva à perfeição, e dominar essas habilidades o capacitará em sua jornada no Hadoop.