【问题标题】:Rename directory in hdfs在 hdfs 中重命名目录
【发布时间】:2014-12-04 05:30:39
【问题描述】:

我需要重命名 hdfs 中的目录。那命令是什么?

hadoop fs -mv <src> <dest> 

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

【问题讨论】:

    标签: hadoop command hdfs


    【解决方案1】:

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

    【讨论】:

    • 而且和简单的重命名一样便宜,see
    【解决方案2】:

    我认为您错过了关于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
    【解决方案3】:

    HDFS环境下可以使用mv命令重命名文件夹

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

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

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

    结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-13
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 2018-05-08
      • 2016-11-07
      • 2015-10-08
      相关资源
      最近更新 更多