2016-07-05 5 views
0

私は、特定のファイルをA1という名前でhdfsディレクトリに置いていますが、シェルスクリプトを実行している間にこのプロセスを何度もやりたいのですが、hdfsディレクトリにファイルを置くと、名前を変更するたびに違うはずです。どうすればこのことができますか?ファイル名をHDFSで

シナリオ:私は、ファイル名のA1を持っていますし、すべての操作は、そのファイルを実行されたら、私は、この使用してシェルスクリプトを実行していて、HDFSディレクトリ名completed_dataに維持し、インターバルの後に起こります。このプロセススケジューラていますその時間私は同じファイル名A1は同じディレクトリに存在することはできませんので、別の名前で毎回A1の名前を変更したいと思います。

おかげ

+0

mv A1 A1_$(date +%N) 

mktemp使用:

mv A1 A1_${RANDOM} 

dateコマンドを使用する:(@Backtrackによってコメントとして)$ RANDOMを使用

'/ dev/random'から得られる乱数のいずれか – Fazlin

+0

はコマンドを書くと、わかりやすくなります。 – Ironman

+1

hadoop fs -mv A1 A1 + $ RANDOMこれを使ってファイルの名前を変更し、新しいファイルをコピーします。A1 – Backtrack

答えて

1

私は、通常のmvの例を挙げています。あなたはhadoop環境のためにそれを変更することができます。ファイル名とタイムスタンプまたはプロセスIDと名前を変更

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

ありがとう@Fazlin – Ironman

関連する問題