J'ai besoin de renommer un répertoire en hdfs. Quelle est la commande pour cela?
hadoop fs -mv <src> <dest>
La commande ci-dessus déplace le dossier src dans le dossier dest. Au lieu de, je souhaite que le dossier src
soit renommé en dest
.
Renommer n’est pas dans hadoop, mais vous pouvez déplacer, hadoop fs -mv oldname newname
Je pense que vous manquez le point sur la commande mv
(linux/hdfs).
Lorsque la destination existe déjà, s'il s'agit d'un fichier, un message d'erreur mv: 'dest': File exists
.
Dans le cas d'un répertoire, la source ira à l'intérieur. Donc, la commande fonctionne de manière acceptable, essayez-la simplement avec une destination inexistante.
Maintenant, pour résoudre ce problème, vous pouvez utiliser la commande test
de hadoop avec le court-circuit OR
de linux.
hadoop fs -test -e dest || hadoop fs -mv src dest
Si le répertoire n'existe pas, appelez mv
. Vous pouvez même aller plus loin avec ce qui suit:
hadoop fs -rmr dest
hadoop fs -mv src dest
Celui-ci supprime d'abord le répertoire de destination, puis effectue l'action de déplacement. si ce n'est pas votre intention, utilisez la solution précédente.