重命名hdfs中的目录

Gov*_*ind 13 command hadoop hdfs

我需要重命名hdfs中的目录.这个命令是什么?

hadoop fs -mv <src> <dest> 
Run Code Online (Sandbox Code Playgroud)

上面的命令将src文件夹移动到dest文件夹.而不是,我希望将src文件夹重命名为dest.

Ren*_*amy 14

重命名不在hadoop中,但你可以移动, hadoop fs -mv oldname newname


bla*_*ith 8

我想你错过了关于mv命令(linux/hdfs)的观点.

当目标已存在时,如果它是文件,则显示错误消息mv: 'dest': File exists.
在目录的情况下,源将进入其中.所以命令工作可以接受,只是尝试使用不存在的dest.

现在要解决这个问题,你可以使用hadoop的test命令以及ORlinux的短路.

hadoop fs -test -e dest || hadoop fs -mv src dest 
Run Code Online (Sandbox Code Playgroud)

如果该目录不存在,则调用mv.您甚至可以进一步了解以下内容:

hadoop fs -rmr dest  
hadoop fs -mv src dest  
Run Code Online (Sandbox Code Playgroud)

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

  • 优点:如果是目录,源代码将位于其中。我以前不知道这个 (2认同)

Vai*_*v K 7

您可以使用 mv 命令重命名 HDFS 环境中的文件夹

hadoop fs -mv 'Old folder name with path' ' new folder name with path'
Run Code Online (Sandbox Code Playgroud)

示例:我在 HDFS 中的某个位置有文件夹/test/abc,我想将其重命名为PQR

hadoop fs -mv '/test/abc' '/test/PQR';
Run Code Online (Sandbox Code Playgroud)

结果:

重命名 HDFS 中的文件夹