2014-12-04 3444 views
6

我需要在hdfs中重命名一个目录。这是什么命令?在hdfs中重命名目录

hadoop fs -mv <src> <dest> 

上述命令将src文件夹移动到dest文件夹中。我不想将src文件夹重命名为dest

回答

9

重命名是不是在Hadoop的,但你可以移动, Hadoop的FS -mv使用oldName NEWNAME

+0

P错误...感谢 – Kumar 2015-08-31 07:31:51

+0

而且和简单的重命名一样便宜,[see](http://stackoverflow.com/questions/8935977/about-hadoop-hdfs-filesystem-rename?rq=1) – nik 2016-08-10 14:46:13

7

我认为你错过了点约mv命令(LINUX/HDFS)。

当目的地已经存在,如果它是一个文件,错误信息mv: 'dest': File exists
在目录的情况下,源将进入它的内部。所以这个命令的工作是可以接受的,只要用一个不存在的dest来尝试就可以了。

现在要解决这个问题,可以使用hadoop的test命令以及linux的短路电路OR

hadoop fs -test -e dest || hadoop fs -mv src dest 

如果该目录不存在,则调用mv。你甚至可以更进一步:

hadoop fs -rmr dest 
hadoop fs -mv src dest 

这一个首先删除dest目录,然后执行移动操作。如果这不是你的意图,请使用以前的解决方案。

+1

好点:In目录的情况下,源代码将进入它的内部。我以前不知道这一点 – 2015-06-26 17:04:23

0

你可以用mv命令

hadoop fs -mv 'Old folder name with path' ' new folder name with path' 

例在HDFS环境重命名文件夹:我的文件夹在HDFS的位置/test/abc,我想将它重命名为PQR

hadoop fs -mv '/test/abc' '/test/PQR'; 

结果:

Rename folder in HDFS