Uso de la CLI de HDFS con Data Lake Storage Gen2

Puede acceder y administrar los datos en la cuenta de almacenamiento mediante una interfaz de línea de comandos como lo haría con un Sistema de archivos distribuido de Hadoop (HDFS). En este artículo se dan algunos ejemplos que le ayudarán a empezar a trabajar.

HDInsight proporciona acceso al contenedor distribuido que se adjunta localmente a los nodos de ejecución. Puede acceder a este contenedor mediante el shell que interactúa directamente con HDFS y con otros sistemas de archivos que admiten Hadoop.

Para más información sobre la CLI de HDFS, consulte la documentación oficial y la Guía de permisos de HDFS.

Nota

Si usa Azure Databricks, en lugar de HDInsight, y quiere interactuar con los datos mediante una interfaz de línea de comandos, puede usar la CLI de Databricks para interactuar con el sistema de archivos de Databricks. Consulte la CLI de Databricks.

Usar la CLI de HDFS con un clúster de HDInsight Hadoop en Linux

En primer lugar, establezca el acceso remoto a los servicios. Si selecciona SSH el ejemplo de código de PowerShell tendría el siguiente aspecto:

#Connect to the cluster via SSH.
ssh sshuser@clustername-ssh.azurehdinsight.net
#Execute basic HDFS commands. Display the hierarchy.
hdfs dfs -ls /
#Create a sample directory.
hdfs dfs -mkdir /samplefolder

La cadena de conexión se encuentra en la sección "SSH e inicio de sesión del clúster" de la hoja del clúster de HDInsight en Azure Portal. Las credenciales SSH se especificaron en el momento de la creación del clúster

Importante

La facturación del clúster de HDInsight se inicia una vez creado el clúster y se detiene cuando se elimina. Se facturan por minuto realizando una prorrata, por lo que siempre debe eliminar aquellos que ya no se estén utilizando. Para obtener información sobre cómo eliminar un clúster, consulte nuestro artículo sobre el tema. Sin embargo, los datos almacenados en una cuenta de almacenamiento que tiene Data Lake Storage Gen2 habilitado continúan incluso después de eliminar un clúster de HDInsight.

Crear un contenedor

hdfs dfs -D "fs.azure.createRemoteFileSystemDuringInitialization=true" -ls abfs://<container-name>@<storage-account-name>.dfs.core.windows.net/

  • Reemplace el marcador de posición <container-name> por el nombre que desee asignar al contenedor.

  • Reemplace el marcador de posición <storage-account-name> por el nombre de la cuenta de almacenamiento.

Obtener una lista de archivos o directorios

hdfs dfs -ls <path>

Reemplace el marcador de posición <path> por el URI del contenedor o de la carpeta de contenedor.

Por ejemplo: hdfs dfs -ls abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name

Creación de un directorio

hdfs dfs -mkdir [-p] <path>

Reemplace el marcador de posición <path> por el nombre del contenedor raíz o de una carpeta dentro del contenedor.

Por ejemplo: hdfs dfs -mkdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/

Eliminar un archivo o un directorio

hdfs dfs -rm <path>

Reemplace el marcador de posición <path> por el URI del archivo o de la carpeta que desee eliminar.

Por ejemplo: hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name/my-file-name

Mostrar las listas de control de acceso (ACL) de archivos y directorios

hdfs dfs -getfacl [-R] <path>

Ejemplo:

hdfs dfs -getfacl -R /dir

Consulte getfacl.

Definir listas de control de acceso de archivos y directorios

hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]

Ejemplo:

hdfs dfs -setfacl -m user:hadoop:rw- /file

Consulte setfacl.

Cambiar el propietario de los archivos

hdfs dfs -chown [-R] <new_owner>:<users_group> <URI>

Consulte chown.

Cambiar la asociación del grupo de archivos

hdfs dfs -chgrp [-R] <group> <URI>

Consulte chgrp.

Cambiar los permisos de archivos

hdfs dfs -chmod [-R] <mode> <URI>

Consulte chmod.

Puede consultar una lista completa de comandos en el sitio web de la guía de comandos shell del sistema de archivos de Apache Hadoop 2.4.1.

Pasos siguientes