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/
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