2014-12-04 10 views
6

hdfs에서 디렉토리의 이름을 바꿔야합니다. 그 명령은 무엇입니까?hdfs에서 디렉토리 이름 바꾸기

hadoop fs -mv <src> <dest> 

위의 명령은 src 폴더를 dest 폴더로 이동합니다. 대신, src 폴더의 이름을 dest으로 변경하겠습니다. ,

답변

9

이름 바꾸기는 하둡에없는,하지만 당신은 이동할 수 있습니다 하둡 FS -mv oldname을 newname의

+0

실수 ... 감사합니다 – Kumar

+0

그리고 간단한 이름 바꾸기만큼 싸다 [참조] (http://stackoverflow.com/questions/8935977/about-hadoop-hdop-filesystem-rename?rq=1) – nik

7

난 당신이 지점에 대한 mv 명령 (리눅스/HDFS)을 누락 생각합니다.

대상이 이미있는 경우 파일 인 경우 오류 메시지 mv: 'dest': File exists.
디렉토리의 경우 소스가 소스로 들어갑니다. 명령이 받아 들일만큼 잘 작동하고 있으므로 존재하지 않는 dest로 시도해보십시오.

이제 이것을 해결하기 위해 hadoop의 test 명령과 리눅스의 OR 단락 명령을 사용할 수 있습니다.

hadoop fs -test -e dest || hadoop fs -mv src dest 

디렉토리가 존재하지 않으면 mv을 호출하십시오. 다음과 같이 더 나아갈 수도 있습니다 :

hadoop fs -rmr dest 
hadoop fs -mv src dest 

이 작업은 먼저 dest 디렉토리를 삭제 한 다음 이동 작업을 수행합니다. 사용자의 의도가 아닌 경우 이전 솔루션을 사용하십시오.

당신은 MV 명령을

hadoop fs -mv 'Old folder name with path' ' new folder name with path' 

예를 사용하여 HDFS 환경에서 폴더 이름을 바꿀 수 있습니다

+1

좋은 지적 : 있음 디렉토리의 경우 소스가 내부에 들어갑니다. 나는 이것을 알지 못했다. –

0

: 나는 위치 /test/abc에서 HDFS에 폴더를하고 난 PQR

hadoop fs -mv '/test/abc' '/test/PQR'; 

결과로 이름을 바꾸려면 :

Rename folder in HDFS

관련 문제