Si vous souhaitez utiliser l'interface CLI pour effectuer des opérations telles que le chargement, le téléchargement et la suppression d'objets sur un compartiment pour lequel OSS-HDFS est activé, vous pouvez recourir aux commandes Hadoop Shell.
Préparation de l'environnement
Vous pouvez accéder à OSS-HDFS en utilisant l'une des méthodes suivantes :
Pour accéder à OSS-HDFS via un cluster Alibaba Cloud EMR, assurez-vous d'avoir créé un cluster EMR dont la version est 3.46.2 ou ultérieure, ou 5.12.2 ou ultérieure. Les clusters EMR répondant à ces exigences de version intègrent OSS-HDFS par défaut. Pour plus d'informations, consultez la rubrique Créer un cluster.
Si vous ne souhaitez pas utiliser un cluster Alibaba Cloud EMR pour accéder à OSS-HDFS, vérifiez que JindoSDK 4.6.x ou une version ultérieure est installé et déployé. Pour plus d'informations, consultez la rubrique Déployer JindoSDK dans un environnement autre qu'EMR.
Commandes et exemples
La section suivante présente des exemples illustrant l'utilisation des commandes Hadoop Shell pour accéder à OSS-HDFS.
-
Charger un fichier local
Exécutez la commande suivante pour charger un fichier local nommé examplefile.txt, situé dans le répertoire racine local, vers un compartiment nommé examplebucket :
hdfs dfs -put examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/ -
Créer un répertoire
Exécutez la commande suivante pour créer un répertoire nommé dir/ dans un compartiment nommé examplebucket :
hdfs dfs -mkdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/ -
Répertorier les objets ou les répertoires
Exécutez la commande suivante pour répertorier les objets ou les répertoires présents dans un compartiment nommé examplebucket :
hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/ -
Consulter la taille des objets ou des répertoires
Exécutez la commande suivante pour consulter la taille de tous les objets ou répertoires contenus dans un compartiment nommé examplebucket :
hdfs dfs -du oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/ -
Afficher le contenu d'un objet
Exécutez la commande suivante pour afficher le contenu d'un objet nommé localfile.txt stocké dans un compartiment nommé examplebucket :
hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/localfile.txtImportantLe contenu de l'objet interrogé s'affiche à l'écran sous forme de texte brut. Si le contenu est encodé, utilisez l'API HDFS pour Java afin de lire et de décoder les données.
-
Copier un objet ou un répertoire
Exécutez la commande suivante pour copier le répertoire racine nommé subdir1, situé dans un compartiment nommé examplebucket, vers un répertoire nommé subdir2 au sein du même compartiment. Le répertoire racine subdir1, ainsi que les objets qu'il contient et la structure de ses sous-répertoires, restent inchangés.
hdfs dfs -cp oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir1 oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir2/subdir1 -
Déplacer un objet ou un répertoire
Exécutez la commande suivante pour déplacer le répertoire racine nommé srcdir, ainsi que les objets et sous-répertoires qu'il contient, depuis un compartiment nommé examplebucket vers un autre répertoire racine nommé destdir :
hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir -
Télécharger un objet
Exécutez la commande suivante pour télécharger un objet nommé exampleobject.txt depuis un compartiment nommé examplebucket vers le répertoire racine /tmp de votre ordinateur :
hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt /tmp/ -
Supprimer des objets ou des répertoires
Exécutez la commande suivante pour supprimer un répertoire nommé destfolder/ ainsi que tous les objets qu'il contient, depuis un compartiment nommé examplebucket :
hdfs dfs -rm -r oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destfolder/