HDFS에서 파일을 복사하고 싶습니다. 파일을 복사하는 동안 폴더가 제외되기를 원합니다. 나는 hdfs dfs -copyToLocal
을 시도했지만 테스트 한대로 디렉토리도 복사합니다.`copyToLocal`을 사용하는 동안 디렉토리를 제외하는 방법
디렉토리가 아닌 파일을 복사하는 방법이 있습니까?
HDFS에서 파일을 복사하고 싶습니다. 파일을 복사하는 동안 폴더가 제외되기를 원합니다. 나는 hdfs dfs -copyToLocal
을 시도했지만 테스트 한대로 디렉토리도 복사합니다.`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>
는
awk 'BEGIN{FL=""} {FL=FL" "$8}
가있는 디렉토리를 제외에 대한
grep "^-"
는 모든 파일과 디렉토리를 나열입니다 파일 경로만으로 문자열 생성하기 의
END{system("hdfs dfs -copyToLocal "FL" .")}'
파일 경로 목록을 마지막 명령은 로컬 파일 시스템 경로를 사용할 수있는 대신 .
주를 복사합니다.
위 스크립트 환영합니다. 정말 고맙습니다. – OmPrakashP
@ daemon12을 수정 해 주셔서 감사합니다. – OmPrakashP