hadoop rename

今天碰到这个问题:

在hdfs上两个目录:

A:hdfs:///user/xxx/sources/xxx

B:hdfs:///user/xxx/sources/xxx_PART

使用命令hadoopfs-mvhdfs:///user/xxx/sources/xxx_PARThdfs:///user/xxx/sources/xxx

本意是通过renameB==>A

结果发现:

1.如果A不存在,则B可以rename到A

2.如果A存在,则B被移到A的目录下,形成hdfs:///user/xxx/sources/xxx、xxx_PART的结构。

然后和同事聊了下,结果发现,在这个命令这,windows和linux不太一样。

在情况1下,表现基本一致。没有问题。

而在情况2下,windows会弹出窗口问,是否merge

而linux会直接将B移到A的目录下。

然后的然后,就是linux还有参数可以完成目录的重命名。

大概像这样。mv-tsource_filetarget_file

但是hadoopfs中mv并没有这个参数。

于是。。。

我要修改我的code了。。

就是在上传文件过程中,无法使用这种先建文件A_PART,然后重命名为A的方式。

看来应该直接上传。

相关推荐