2016-07-05 6 views
0

이름이 A1 인 hdfs 디렉토리에 특정 파일을 넣고 쉘 스크립트를 실행하는 동안이 프로세스를 여러 번하고 싶지만 파일을 hdfs 디렉토리에 넣으면 그 A1 파일의 이름을 바꾸고 싶습니다. 이름 바꾸기가 다를 때마다 어떻게해야합니까?파일 이름 바꾸기 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 파일의 이름을 바꾸고 새 파일을 복사 할 때 사용합니다. – Backtrack

답변

1

내가 정상 mv의 예를 제공하고 있습니다. 당신은 당신의 hadoop 환경을 위해 그것을 바꿀 수 있습니다. 파일명 소인 또는 프로세스 ID 바꾸기

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

고맙습니다. @Fazlin – Ironman