2017-04-13 4 views

답변

2

내가 아는 한, -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" .")}' 파일 경로 목록을 마지막 명령은 로컬 파일 시스템 경로를 사용할 수있는 대신 .

주를 복사합니다.

+0

위 스크립트 환영합니다. 정말 고맙습니다. – OmPrakashP