HDFS에서 로컬 파일 시스템으로 파일을 복사하는 방법 파일 아래에 파일 위치가없고 디렉토리도 없습니다. 추가 유효성 검사를 위해 로컬로 어떻게 옮길 수 있습니까? winscp 통해 시도했습니다.
답변
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
- 웹 브라우저에서 HDFS WEBUI (
namenode_machine:50070
)를 가리키고 복사하려는 파일을 찾은 다음 페이지를 아래로 스크롤 하여 파일 다운로드를 클릭하십시오 .
답변
하둡 2.0에서는
hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
어디,
-
hdfs_input_file_path
아마http://<<name_node_ip>>:50070/explorer.html
-
output_path
파일을 복사 할 파일의 로컬 경로입니다. -
get
대신 사용할 수도 있습니다copyToLocal
.
답변
HDFS에서 로컬 파일 시스템으로 파일을 복사하기 위해 다음 명령을 실행할 수 있습니다.
hadoop dfs -copyToLocal <input> <output>
<input>
: 복사하려는 HDFS 디렉토리 경로 (예 : / mydata)<output>
: 대상 디렉토리 경로 (예 : ~ / Documents)
답변
이 두 가지 방법으로 달성 할 수 있습니다.
1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
전의:
내 파일은 /sourcedata/mydata.txt
에 있습니다.이 경로의 로컬 파일 시스템에 파일을 복사하려고합니다. / user / ravi / mydata
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
답변
소스 “file”이 동일한 디렉토리 트리에있는 여러 파일 (map-reduce의 결과 일 수 있음)로 분할 된 경우 다음을 사용하여 로컬 파일로 복사 할 수 있습니다.
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
답변
이것은 Ubuntu의 VM 인스턴스에서 나를 위해 일했습니다.
hdfs dfs -copyToLocal [hadoop 디렉토리] [로컬 디렉토리]
답변
도커를 사용하는 경우 다음 단계를 수행해야합니다.
-
hdfs에서 namenode로 파일을 복사하십시오 (hadoop fs -get output / part-r-00000 / out_text). “/ out_text”는 네임 노드에 저장됩니다.
-
(docker cp namenode : / out_text output.txt)에 의해 namenode에서 로컬 디스크로 파일을 복사하십시오.
-
output.txt는 현재 작업 디렉토리에 있습니다