Comandos HDFS

HDFS es el componente principal o principal del ecosistema de Hadoop, que es responsable de almacenar grandes conjuntos de datos estructurados o no estructurados en varios Nodes y, por lo tanto, mantener los metadatos en forma de archivos de registro. Para usar los comandos de HDFS, primero debe iniciar los servicios de Hadoop con el siguiente comando:

sbin/start-all.sh

Para verificar que los servicios de Hadoop estén en funcionamiento, use el siguiente comando:

jps

Comandos:

  1. ls: este comando se usa para enumerar todos los archivos. Use lsr para el enfoque recursivo. Es útil cuando queremos una jerarquía de una carpeta.

    Sintaxis:

    bin/hdfs dfs -ls  <path>

    Ejemplo:

    bin/hdfs dfs -ls /  

    Imprimirá todos los directorios presentes en HDFS. El directorio bin contiene ejecutables, por lo que bin/hdfs significa que queremos los ejecutables de hdfs, en particular los comandos dfs ( Sistema de archivos distribuidos).

  2. mkdir : Para crear un directorio. En Hadoop dfs no hay un directorio de inicio por defecto. Así que primero vamos a crearlo.

    Sintaxis:

    bin/hdfs dfs -mkdir <folder name>
    
    creating home directory:
    
    hdfs/bin -mkdir /user
    hdfs/bin -mkdir /user/username -> write the username of your computer 
    

    Ejemplo:

    bin/hdfs dfs -mkdir  /geeks  =>  '/' means absolute path
    bin/hdfs dfs -mkdir  geeks2  =>   Relative path -> the folder will be 
                                      created relative to the home directory.
    

  3. touchz : Crea un archivo vacío.

    Sintaxis:

    bin/hdfs dfs  -touchz  <file_path>

    Ejemplo:

    bin/hdfs dfs -touchz  /geeks/myfile.txt 

  4. copyFromLocal (o) poner: para copiar archivos/carpetas del sistema de archivos local a la tienda hdfs. Este es el comando más importante. Sistema de archivos local significa los archivos presentes en el sistema operativo.

    Sintaxis:

    bin/hdfs dfs -copyFromLocal <local file path>  <dest(present on hdfs)>

    Ejemplo: supongamos que tenemos un archivo AI.txt en el escritorio que queremos copiar a la carpeta geeks presente en hdfs.

    bin/hdfs dfs -copyFromLocal ../Desktop/AI.txt /geeks
    
    (OR)
    
    bin/hdfs dfs -put ../Desktop/AI.txt /geeks
    

  5. cat: Para imprimir el contenido del archivo.

    Sintaxis:

    bin/hdfs dfs -cat <path>

    Ejemplo:

    // print the content of AI.txt present
    // inside geeks folder.
    bin/hdfs dfs -cat /geeks/AI.txt ->
    

  6. copyToLocal (o) get: Para copiar archivos/carpetas de la tienda hdfs al sistema de archivos local.

    Sintaxis:

    bin/hdfs dfs -copyToLocal  <<srcfile(on hdfs)> <local file dest>

    Ejemplo:

    bin/hdfs dfs -copyToLocal  /geeks   ../Desktop/hero  
    
    (OR)
    
    bin/hdfs dfs -get /geeks/myfile.txt  ../Desktop/hero
    

    myfile.txt de la carpeta geeks se copiará a la carpeta hero presente en el escritorio .

    Nota: observe que no escribimos bin/hdfs mientras verificamos las cosas presentes en el sistema de archivos local.

  7. moveFromLocal: este comando moverá el archivo de local a hdfs.

    Sintaxis:

    bin/hdfs dfs -moveFromLocal <local src>   <dest(on hdfs)> 

    Ejemplo:

    bin/hdfs dfs -moveFromLocal  ../Desktop/cutAndPaste.txt   /geeks

  8. cp: este comando se usa para copiar archivos dentro de hdfs. Vamos a copiar la carpeta geeks a geeks_copied .

    Sintaxis:

    bin/hdfs dfs -cp  <src(on hdfs)>  <dest(on hdfs)>

    Ejemplo:

    bin/hdfs -cp /geeks  /geeks_copied

  9. mv: este comando se usa para mover archivos dentro de hdfs. Vamos a cortar y pegar un archivo myfile.txt de la carpeta geeks a geeks_copied .

    Sintaxis:

    bin/hdfs dfs -mv  <src(on hdfs)> <src(on hdfs)>

    Ejemplo:

    bin/hdfs  -mv  /geeks/myfile.txt  /geeks_copied

  10. rmr: este comando elimina un archivo de HDFS de forma recursiva . Es un comando muy útil cuando desea eliminar un directorio que no está vacío .

    Sintaxis:

    bin/hdfs dfs -rmr <filename/directoryName>

    Ejemplo:

    bin/hdfs dfs -rmr  /geeks_copied -> It will delete all the content inside the 
                                           directory then the directory itself.
    

  11. du: Dará el tamaño de cada archivo en el directorio.

    Sintaxis:

    bin/hdfs dfs -du  <dirName>

    Ejemplo:

    bin/hdfs dfs -du /geeks

  12. dus: : Este comando dará el tamaño total del directorio/archivo.

    Sintaxis:

    bin/hdfs dfs -dus  <dirName>

    Ejemplo:

    bin/hdfs dfs -dus /geeks

  13. stat: Dará la hora de última modificación del directorio o ruta. En resumen, dará estadísticas del directorio o archivo.

    Sintaxis:

    bin/hdfs  dfs -stat    <hdfs file>

    Ejemplo:

    bin/hdfs dfs -stat /geeks

  14. setrep: este comando se usa para cambiar el factor de replicación de un archivo/directorio en HDFS. De forma predeterminada, es 3 para cualquier cosa que esté almacenada en HDFS (como se establece en hdfs core-site.xml ).

    Ejemplo 1: cambiar el factor de replicación a 6 para geeks.txt almacenado en HDFS.

    bin/hdfs dfs -setrep -R -w 6 geeks.txt

    Ejemplo 2: cambiar el factor de replicación a 4 para un directorio geeksInput almacenado en HDFS.

    bin/hdfs dfs -setrep -R  4 /geeks

    Nota: -w significa esperar hasta que se complete la replicación. Y -R significa recursivamente, lo usamos para directorios, ya que también pueden contener muchos archivos y carpetas dentro de ellos.

Nota: Hay más comandos en HDFS, pero discutimos los comandos que se usan comúnmente cuando se trabaja con Hadoop. Puede consultar la lista de comandos dfs con el siguiente comando:

bin/hdfs dfs

Publicación traducida automáticamente

Artículo escrito por SrjSunny y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *