2016-07-05 33 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