2016-07-05 108 views
0

我将一个特定的文件放在名称为A1的hdfs目录中,并且希望在运行我的shell脚本时多次执行此过程,但是当我将该文件放在hdfs目录中时,我想重命名该A1文件,每次重命名应该是不同的我怎么能做到这一点。HDFS中的文件重命名

场景:我有一个文件名A1,一旦所有的操作完成该文件我保持在HDFS目录名completed_data,因为我运行这个使用shell脚本和调度器这一过程的时间间隔后会发生那个时候我同一个文件名A1不能存在于同一个目录下,所以我想每次用不同的名字重命名A1。

感谢

+0

与文件名和时间戳或进程id重命名或者从'/ dev/random'获得的一些随机数可以是 – Fazlin

+0

你写的命令,因为它会帮助我更好地理解。 – Ironman

+1

hadoop fs -mv A1 A1 + $ RANDOM使用此命令重命名文件并复制新的A1 – Backtrack

回答

1

我给正常mv例子。你可以改变它为你的hadoop环境。

使用$ RANDOM(如由@Backtrack注释):

mv A1 A1_${RANDOM} 

使用date命令:

mv A1 A1_$(date +%N) 

使用mktemp

mv A1 $(mktemp --tmpdir=/dir/where/you/want A1_XXX) 
+0

非常感谢@Fazlin – Ironman