2016-08-28 2 views

답변

0

hdfs dfs -put /path/to/localdir/ hdfs://path/to/hdfsdir

  • hdfs dfs -copyFromLocal /path/to/localdir/ hdfs://path/to/hdfsdir
  • hdfs dfs -moveFromLocal /path/to/localdir/ hdfs://path/to/hdfsdir
  • hadoop distcp file:///path/to/localdir/ hdfs://namenode:port/path/to/hdfsdir
  • 옵션 1 & 2는 동일

    1. 같은, (전통적인 방법을 사용)이 작업을 수행하는 방법에는 여러 가지가 있습니다 당신의 경우. 복사 시간에는 차이가 없습니다.

      옵션 3은 데이터를 HDFS 파일 시스템 (-put과 동일)에 복사하고 로컬 파일 시스템에서 파일을 삭제할 때 시간이 더 걸릴 수 있습니다.

      옵션 4는 까다로운 도구입니다. 대규모 inter/intra-cluster 복사를 위해 설계되었습니다. 그러나 "file : //"접두사가있는 로컬 파일 URL을 제공하여 로컬 파일에도 동일한 명령을 사용할 수 있습니다. 도구가 MapReduce를 사용하여 병렬로 작동하도록 설계되었으며 파일이 로컬에 있으므로 최적의 솔루션 인 distcp가 아니라 해당 기능을 사용할 수 없습니다. (클러스터 노드에 마운트를 만들어서 distcp의 성능을 향상시킬 수 있습니다)

    관련 문제