Copia con la interfaz de shell de Hadoop FS

HadoopHadoopBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Bienvenido al encantador carnaval donde el extraordinario mago está listo para mostrar las maravillas de Hadoop's HDFS con la habilidad copy. En este escenario encantador, el mago pretende demostrar cómo copiar archivos utilizando el comando de la interfaz de shell de Hadoop FS, brindando un toque mágico a tu viaje de habilidades en Hadoop.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHDFSGroup -.-> hadoop/fs_cp("FS Shell cp") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-271866{{"Copia con la interfaz de shell de Hadoop FS"}} hadoop/fs_ls -.-> lab-271866{{"Copia con la interfaz de shell de Hadoop FS"}} hadoop/fs_mkdir -.-> lab-271866{{"Copia con la interfaz de shell de Hadoop FS"}} hadoop/fs_cp -.-> lab-271866{{"Copia con la interfaz de shell de Hadoop FS"}} end

Copiando archivos con la interfaz de shell de Hadoop FS

En este paso, aprenderemos cómo copiar archivos en Hadoop utilizando el comando cp de la interfaz de shell de FS.

  1. Cambie al usuario hadoop en la terminal:

    su - hadoop
  2. Cree un archivo de prueba llamado source.txt en el directorio /home/hadoop. Ejecute los siguientes comandos:

    echo "This is a test file." > /home/hadoop/source.txt
  3. Ahora, copiemos el archivo local source.txt a un nuevo archivo de destino llamado destination.txt en HDFS. Utilice el siguiente comando:

    hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txt
  4. Verifique que el archivo se haya copiado correctamente. Puede listar los archivos en / para confirmar.

    hdfs dfs -ls /

Copia recursiva de archivos con la interfaz de shell de Hadoop FS

En este paso, mejoraremos nuestras habilidades de copia de archivos mediante la copia recursiva de directorios utilizando el comando de la interfaz de shell de Hadoop FS.

  1. Cree un directorio llamado source_dir en / y un subdirectorio llamado subdir en /source_dir/. Ejecute los siguientes comandos:

    hdfs dfs -mkdir /source_dir
    hdfs dfs -mkdir /source_dir/subdir
  2. Coloque un archivo de prueba llamado file1.txt dentro del directorio subdir. Utilice el comando siguiente:

    echo "Contenidos del archivo 1" > /home/hadoop/file1.txt
    hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/
  3. Copie el directorio source_dir completo a un nuevo destino llamado destination_dir de manera recursiva. Pruebe el siguiente comando:

    hdfs dfs -cp /source_dir/ /destination_dir

Ciertamente. El comando hdfs dfs -cp /source_dir /destination_dir tiene los siguientes componentes:

  1. hdfs dfs -cp: Esta parte indica el uso del comando cp del Hadoop Distributed File System (HDFS), que se utiliza para copiar archivos o directorios.
  2. /source_dir/*: Esto representa la ruta del directorio fuente. El comodín * coincide con todos los archivos y subdirectorios dentro de este directorio.
  3. /destination_dir: Esta es la ruta del directorio destino al que desea copiar los archivos.

En resumen, este comando copia todos los archivos y subdirectorios de /source_dir a /destination_dir, preservando los atributos originales de los archivos.

  1. Valide la copia recursiva listando el contenido del directorio destination_dir.

    hdfs dfs -ls -R /destination_dir

Resumen

En este laboratorio, sumergimos en el mundo mágico de Hadoop HDFS con énfasis en los comandos hdfs dfs -copyFromLocal y hdfs dfs -copy. Al crear escenarios atractivos y brindar práctica práctica, este laboratorio tuvo como objetivo mejorar su comprensión de las operaciones de copia de archivos en Hadoop. Recuerde, la práctica hace al maestro, y dominar estas habilidades lo habilitará en su viaje de Hadoop.