Hadoop: cliente CLI Python Snakebite, su uso y referencias de comandos

Python Snakebite viene con un cliente CLI (Command Line Interface) que es una biblioteca de cliente basada en HDFS. El nombre de host o la dirección IP del NameNode y el puerto RPC del NameNode deben conocerse para usar la CLI de Python Snakebite. Podemos enumerar todos estos valores de puerto y nombre de host simplemente creando nuestro propio archivo de configuración que contiene todos estos detalles de NameNode, como el nombre de host de Localhost y el puerto RPC (Llamada a procedimiento remoto). En nuestra demostración, usaremos una forma más simple de usar la CLI de Snakebite al pasar directamente este puerto y los valores de host al comando mismo. La llamada a procedimiento remoto o RPC es una forma de asignar puertos de forma dinámica y se utiliza para aplicaciones de servidor y administración remota.  

Los valores que usamos aquí para el nombre de host y el valor del puerto se pueden encontrar en el archivo hadoop/etc/hadoop/core-site.xml en la propiedad fs.default.name de su sistema. Podemos visitar la documentación de la CLI de Snakebite para obtener más información sobre la configuración de la CLI de Snakebite.

También podemos verificar el valor de la propiedad fs.default.name con la ayuda del siguiente comando.

hdfs getconf -confKey fs.defaultFS      # We can also use fs.default.name but fs.defaultFS is most favourable

 Veamos el valor de la propiedad fs.default.name manualmente en el archivo core-site.xml en nuestro sistema para conocer el host o el puerto.

Podemos ver que nuestro host predeterminado es localhost o el puerto es 9000 .

Uso de mordedura de serpiente CLI

Con la ayuda de python snakebite CLI, podemos implementar fácilmente la mayoría de los comandos que usamos con hdfs dfs como ls, mv, rm, put, get, du, df , etc. Así que realicemos algunas operaciones básicas para entender cómo Snakebite CLI obras.

Usando la CLI de Snakebite a través de la ruta en la línea de comando, por ejemplo: hdfs://namenode_host:port/path

1. Listado de todos los directorios disponibles en el directorio raíz de HDFS

Sintaxis:

snakebite lshdfs://localhost:9000/<path>

Ejemplo:

snakebite ls hdfs://localhost:9000/

Listing all the directory's available in the root directory of HDFS

2. Eliminar un archivo de HDFS

Sintaxis:

snakebite rm  hdfs://localhost:9000/<file_path_with_name>

Ejemplo:

snakebite rm  hdfs://localhost:9000/data.txt

3. Creación de un directorio (el nombre del directorio es /sample en mi caso)

Sintaxis:

snakebite mkdir hdfs://localhost:9000/<path_with_directory_name>

Ejemplo:

snakebite mkdir hdfs://localhost:9000/sample

4. Eliminar un directorio (el nombre del directorio es /sample en mi caso)

snakebite rmdir hdfs://localhost:9000/sample

Ahora, con el ejemplo anterior, tenemos una idea de cómo podemos implementar y usar la interfaz de línea de comandos de mordedura de serpiente. La diferencia importante entre Snakebite CLI y hdfs dfs es que Snakebite es una biblioteca de cliente Python completa y no utiliza ninguna biblioteca Java para comunicarse con HDFS. El comando de la biblioteca Snakebite interactúa más rápido con HDFS que con hdfs dfs .  

Referencia de comandos CLI

La biblioteca Python Snakebite proporciona muchas facilidades para trabajar con HDFS. Todos los interruptores y comandos de referencia se pueden enumerar con la ayuda de un simple comando  de mordedura de serpiente.

 snakebite     

Podemos observar que todos los comandos disponibles en hdfs dfs comandos similares también están disponibles en la interfaz de línea de comandos de Snakebite. Realicemos algunos más para obtener una mejor comprensión de la CLI de mordedura de serpiente.

Verifique la versión de mordedura de serpiente con el siguiente comando

snakebite --ver

1. cat: se utiliza para imprimir los datos del archivo

Ejemplo:

snakebite cat hdfs://localhost:9000/test.txt

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

Sintaxis:

snakebite copyToLocal <source> <destination>

Ejemplo:

snakebite copyToLocal  hdfs://localhost:9000/test.txt /home/dikshant/Pictures

3. touchz: Crea un archivo vacío.

Sintaxis:

snakebite touchz  hdfs://localhost:9000/<name_of_directory>

Ejemplo:

snakebite touchz  hdfs://localhost:9000/demo_file

4. du: muestra las estadísticas de uso del disco

snakebite du  hdfs://localhost:9000/    # show disk usage of root directory

snakebite du  hdfs://localhost:9000/Hadoop_File   # show disk usage of /Hadoop_File directory i.e. already available

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

snakebite stat  hdfs://localhost:9000/

snakebite stat  hdfs://localhost:9000/Hadoop_File

6 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) 

snakebite setrep 5  hdfs://localhost:9000/test.txt

En la imagen de abajo, podemos observar que hemos cambiado el factor de replicación de 1 a 5 para el archivo test.txt .

Del mismo modo, podemos realizar múltiples operaciones en HDFS utilizando Python Snakebite CLI.

Publicación traducida automáticamente

Artículo escrito por dikshantmalidev 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 *