Pour effectuer des opérations sur un bucket compatible OSS-HDFS via l'interface CLI, comme l'envoi, le téléchargement ou la suppression d'objets, utilisez les commandes Hadoop Shell.
Préparation de l'environnement
Vous pouvez accéder à OSS-HDFS de l'une des manières suivantes :
Si vous souhaitez accéder à OSS-HDFS via un cluster Alibaba Cloud EMR, assurez-vous d'avoir créé un cluster EMR version 3.46.2 (ou ultérieure) ou 5.12.2 (ou ultérieure). L'intégration avec OSS-HDFS est activée par défaut sur les clusters EMR répondant à ces prérequis. Pour plus d'informations, consultez Créer un cluster.
Si vous n'utilisez pas de cluster Alibaba Cloud EMR, assurez-vous que JindoSDK 4.6.x (ou une version ultérieure) est installé et déployé. Pour plus d'informations, consultez Déployer JindoSDK dans un environnement autre qu'EMR.
Commandes et exemples
Les exemples suivants illustrent l'utilisation des commandes Hadoop Shell pour accéder à OSS-HDFS.
-
Envoyer un fichier local
Exécutez la commande suivante pour envoyer le fichier local
examplefile.txtdepuis le répertoire racine local vers le bucketexamplebucket: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 le répertoire dir/ dans le bucket
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 lister les objets et les répertoires du bucket
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 afficher la taille de tous les objets et répertoires du bucket
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 de l'objet
localfile.txtsitué dans le bucketexamplebucket:hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/localfile.txtImportantLe contenu de l'objet s'affiche à l'écran en texte brut. Si le contenu est encodé, utilisez l'API HDFS pour Java afin de le lire et de le décoder.
-
Copier un objet ou un répertoire
Exécutez la commande suivante pour copier le répertoire racine
subdir1du bucketexamplebucketvers le répertoiresubdir2du même bucket. Le répertoire sourcesubdir1, 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
srcdirdu bucketexamplebucket, ainsi que les objets et sous-répertoires qu'il contient, vers le répertoire racinedestdir: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 l'objet
exampleobject.txtdepuis le bucketexamplebucketvers le répertoire/tmpde 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 le répertoire destfolder/ et tous les objets qu'il contient du bucket
examplebucket:hdfs dfs -rm -r oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destfolder/