HDFS에서 파일을 복사하고 싶습니다. 파일을 복사하는 동안 폴더를 제외하고 싶습니다. 시도 hdfs dfs -copyToLocal
했지만 테스트 한대로 디렉터리도 복사합니다.
디렉토리가 아닌 파일을 복사하는 방법 / 명령이 있습니까?
내가 아는 한 -copyToLocal
파일 만 복사하는 직접적인 플래그는 없습니다 . 그러나 리눅스 grep
를 사용하여 복사하는 데이터에서 디렉토리를 제외 할 수 있습니다 . 이 같은:
hdfs dfs -ls <HDFS_DIR_PATH> | grep "^-" | awk 'BEGIN{FL=""} {FL=FL" "$8} END{system("hdfs dfs -copyToLocal "FL" .")}'
어디,
hdfs dfs -ls <HDFS_DIR_PATH>
모든 파일과 디렉토리를 나열하기위한 것입니다.
grep "^-"
디렉토리를 제외하기위한 것입니다.
awk 'BEGIN{FL=""} {FL=FL" "$8}
파일 경로만으로 문자열을 만드는 것입니다.
END{system("hdfs dfs -copyToLocal "FL" .")}'
파일 경로 목록을 복사하기위한 것입니다.
.
마지막 명령 대신 모든 로컬 파일 시스템 경로를 사용할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다