[hadoop] HDFS에서 로컬 파일 시스템으로 파일을 복사하는 방법

HDFS에서 로컬 파일 시스템으로 파일을 복사하는 방법 파일 아래에 파일 위치가없고 디렉토리도 없습니다. 추가 유효성 검사를 위해 로컬로 어떻게 옮길 수 있습니까? winscp 통해 시도했습니다.



답변

  1. bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
  2. bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
  3. 웹 브라우저에서 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 디렉토리] [로컬 디렉토리]


답변

도커를 사용하는 경우 다음 단계를 수행해야합니다.

  1. hdfs에서 namenode로 파일을 복사하십시오 (hadoop fs -get output / part-r-00000 / out_text). “/ out_text”는 네임 노드에 저장됩니다.

  2. (docker cp namenode : / out_text output.txt)에 의해 namenode에서 로컬 디스크로 파일을 복사하십시오.

  3. output.txt는 현재 작업 디렉토리에 있습니다