我需要在hdfs中重命名一个目录。这是什么命令?
hadoop fs -mv <src> <dest>
上面的命令将src文件夹移到dest文件夹中。而不是,我想要 src 要重命名为的文件夹 dest .
src
dest
dgsult0t1#
我认为你没有抓住重点 mv 命令(linux/hdfs)。当目标已经存在时,如果它是一个文件,则会显示一条错误消息 mv: 'dest': File exists .如果是目录,源代码将进入其中。所以命令可以接受,只需使用一个不存在的dest就可以了。现在要解决这个问题,可以使用hadoop的 test 指令伴随短路 OR linux的。
mv
mv: 'dest': File exists
test
OR
hadoop fs -test -e dest || hadoop fs -mv src dest
如果目录不存在,则调用 mv . 您甚至可以进一步执行以下操作:
hadoop fs -rmr dest hadoop fs -mv src dest
这个首先删除dest dir,然后执行move操作。如果这不是您的意图,请使用前面的解决方案。
wooyq4lh2#
重命名不在hadoop中,但可以移动,hadoop fs-mv oldname newname
pes8fvy93#
您可以使用mv命令重命名hdfs环境中的文件夹
hadoop fs -mv 'Old folder name with path' ' new folder name with path'
示例:我在hdfs中的位置有一个文件夹 /test/ 我想把它改名为 PQR ```hadoop fs -mv '/test/abc' '/test/PQR';
/test/
PQR
结果: ![](https://i.stack.imgur.com/DINVU.jpg)
3条答案
按热度按时间dgsult0t1#
我认为你没有抓住重点
mv
命令(linux/hdfs)。当目标已经存在时,如果它是一个文件,则会显示一条错误消息
mv: 'dest': File exists
.如果是目录,源代码将进入其中。所以命令可以接受,只需使用一个不存在的dest就可以了。
现在要解决这个问题,可以使用hadoop的
test
指令伴随短路OR
linux的。如果目录不存在,则调用
mv
. 您甚至可以进一步执行以下操作:这个首先删除dest dir,然后执行move操作。如果这不是您的意图,请使用前面的解决方案。
wooyq4lh2#
重命名不在hadoop中,但可以移动,hadoop fs-mv oldname newname
pes8fvy93#
您可以使用mv命令重命名hdfs环境中的文件夹
示例:我在hdfs中的位置有一个文件夹
/test/
我想把它改名为PQR
```hadoop fs -mv '/test/abc' '/test/PQR';