【发布时间】:2014-12-04 05:30:39
【问题描述】:
我需要重命名 hdfs 中的目录。那命令是什么?
hadoop fs -mv <src> <dest>
上述命令将 src 文件夹移动到 dest 文件夹。而不是,我希望将 src 文件夹重命名为 dest。
【问题讨论】:
我需要重命名 hdfs 中的目录。那命令是什么?
hadoop fs -mv <src> <dest>
上述命令将 src 文件夹移动到 dest 文件夹。而不是,我希望将 src 文件夹重命名为 dest。
【问题讨论】:
重命名不在hadoop中,但你可以移动, hadoop fs -mv oldname newname
【讨论】:
我认为您错过了关于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 dir,然后执行move动作。如果这不是您的意图,请使用以前的解决方案。
【讨论】:
mv: /path/project-latest : No such file or directory 调用 hdfs dfs -mv /path/project-0.1/ /path/project-latest/ 时。
hdfs dfs -mv /path/project-0.1/ /path/project-latest