Utilisation de l’interface CLI HDFS avec Data Lake Storage
Vous pouvez accéder aux données et les gérer dans votre compte de stockage à l’aide d’une interface de ligne de commande comme vous le feriez avec un Système de fichiers DFS Hadoop (HDFS). Cet article fournit quelques exemples qui vous aideront à démarrer.
HDInsight permet d’accéder au conteneur distribué connecté localement aux nœuds de calcul. Ce conteneur est accessible à l’aide de l’interpréteur de commandes qui interagit directement avec HDFS et d’autres systèmes de fichiers pris en charge par Hadoop.
Pour plus d’informations sur l’interface de ligne de commande HDFS, voir la documentation officielle et le Guide des autorisations HDFS.
Notes
Si vous utilisez Azure Databricks au lieu de HDInsight, et souhaitez interagir avec vos données à l’aide d’une interface de ligne de commande, vous pouvez utiliser celle de Databricks pour interagir avec le système de fichiers Databricks. Voir Interface de ligne de commande Databricks.
Utiliser l’interface CLI HDFS avec un cluster HDInsight Hadoop sur Linux
Tout d’abord, établissez l’accès à distance aux services. Si vous choisissez SSH, l’exemple de code PowerShell se présente comme suit :
#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 chaîne de connexion se trouve dans la section « Connexion SSH + Cluster » du panneau du cluster HDInsight dans le portail Azure. Les informations d’identification SSH ont été spécifiées au moment de la création du cluster.
Important
La facturation du cluster HDInsight démarre après la création du cluster et s’arrête à sa suppression. La facturation est effectuée au prorata des minutes écoulées. Par conséquent, vous devez toujours supprimer votre cluster lorsqu’il n’est plus utilisé. Pour découvrir comment supprimer un cluster, consultez notre article à ce sujet. Toutefois, les données stockées dans un compte de stockage avec Azure Data Lake Storage persistent même après la suppression du cluster HDInsight.
Créez un conteneur.
hdfs dfs -D "fs.azure.createRemoteFileSystemDuringInitialization=true" -ls abfs://<container-name>@<storage-account-name>.dfs.core.windows.net/
Remplacez l’espace réservé
<container-name>
par le nom que vous souhaitez donner à votre conteneur.Remplacez la valeur d’espace réservé
<storage-account-name>
par le nom de votre compte de stockage.
Obtenir la liste des fichiers ou répertoires
hdfs dfs -ls <path>
Remplacez l’espace réservé <path>
par l’URI du conteneur ou du dossier du conteneur.
Par exemple : hdfs dfs -ls abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name
Créer un répertoire
hdfs dfs -mkdir [-p] <path>
Remplacez l’espace réservé <path>
par le nom du conteneur racine ou par un dossier de votre conteneur.
Par exemple : hdfs dfs -mkdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/
Supprimer un fichier ou répertoire
hdfs dfs -rm <path>
Remplacez l'espace réservé <path>
par l'URI du fichier ou du dossier à supprimer.
Par exemple : hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name/my-file-name
Afficher les listes de contrôle d’accès (ACL) des fichiers et répertoires
hdfs dfs -getfacl [-R] <path>
Exemple :
hdfs dfs -getfacl -R /dir
Voir getfacl
Définir les listes ACL des fichiers et répertoires
hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]
Exemple :
hdfs dfs -setfacl -m user:hadoop:rw- /file
Voir setfacl
Changer le propriétaire des fichiers
hdfs dfs -chown [-R] <new_owner>:<users_group> <URI>
Voir chown
Changer l’association de groupe des fichiers
hdfs dfs -chgrp [-R] <group> <URI>
Voir chgrp
Changer les autorisations des fichiers
hdfs dfs -chmod [-R] <mode> <URI>
Voir chmod
Vous pouvez voir la liste complète des commandes en accédant au site web Apache Hadoop 2.4.1 File System Shell Guide.