[HADOOP] hadoop은 로컬 파일 시스템 폴더를 HDFS에 복사합니다.
HADOOPhadoop은 로컬 파일 시스템 폴더를 HDFS에 복사합니다.
로컬 파일 시스템에서 HDFS로 폴더를 복사해야합니다. 폴더 (모든 하위 폴더 포함)를 HDFS로 이동하는 예는 찾을 수 없습니다.
$ hadoop fs -copyFromLocal / home / 우분투 / 원본 - 투 - 복사 HDFS-URI
해결법
-
==============================
1.너는 시도 할 수 있었다 :
너는 시도 할 수 있었다 :
hadoop fs -put /path/in/linux /hdfs/path
또는
hadoop fs -copyFromLocal /path/in/linux /hdfs/path
기본적으로 put과 copyFromLocal은 디렉토리를 재귀 적으로 HDFS에 업로드합니다.
-
==============================
2.로컬에서 폴더를 복사하면 모든 하위 폴더가있는 폴더가 HDFS로 복사됩니다.
로컬에서 폴더를 복사하면 모든 하위 폴더가있는 폴더가 HDFS로 복사됩니다.
로컬에서 hdfs로 폴더를 복사하려면 다음을 사용할 수 있습니다.
hadoop fs -put localpath
또는
hadoop fs -copyFromLocal localpath
또는
hadoop fs -put localpath hdfspath
또는
hadoop fs -copyFromLocal localpath hdfspath
노트 :
hdfs 경로를 지정하지 않으면 폴더 복사가 해당 폴더의 이름과 동일한 hdfs로 복사됩니다.
hdfs에서 로컬로 복사하려면
hadoop fs -get hdfspath localpath
-
==============================
3.파일을 HDFS에 배치하기 전에 소스 및 대상 확인
파일을 HDFS에 배치하기 전에 소스 및 대상 확인
[cloudera@quickstart ~]$ ll files/ total 132 -rwxrwxr-x 1 cloudera cloudera 5387 Nov 14 06:33 cloudera-manager -rwxrwxr-x 1 cloudera cloudera 9964 Nov 14 06:33 cm_api.py -rw-rw-r-- 1 cloudera cloudera 664 Nov 14 06:33 derby.log -rw-rw-r-- 1 cloudera cloudera 53655 Nov 14 06:33 enterprise-deployment.json -rw-rw-r-- 1 cloudera cloudera 50515 Nov 14 06:33 express-deployment.json [cloudera@quickstart ~]$ hdfs dfs -ls Found 1 items drwxr-xr-x - cloudera cloudera 0 2017-11-14 00:45 .sparkStaging
-put 또는 -copyFromLocal 명령을 사용하여 HDFS 파일 복사
[cloudera@quickstart ~]$ hdfs dfs -put files/ files
HDFS에서 결과 확인
[cloudera@quickstart ~]$ hdfs dfs -ls Found 2 items drwxr-xr-x - cloudera cloudera 0 2017-11-14 00:45 .sparkStaging drwxr-xr-x - cloudera cloudera 0 2017-11-14 06:34 files [cloudera@quickstart ~]$ hdfs dfs -ls files Found 5 items -rw-r--r-- 1 cloudera cloudera 5387 2017-11-14 06:34 files/cloudera-manager -rw-r--r-- 1 cloudera cloudera 9964 2017-11-14 06:34 files/cm_api.py -rw-r--r-- 1 cloudera cloudera 664 2017-11-14 06:34 files/derby.log -rw-r--r-- 1 cloudera cloudera 53655 2017-11-14 06:34 files/enterprise-deployment.json -rw-r--r-- 1 cloudera cloudera 50515 2017-11-14 06:34 files/express-deployment.json
-
==============================
4.당신이 사용할 수있는 :
당신이 사용할 수있는 :
1. 로컬 파일에서 HDFS로 데이터로드
구문 : $ hadoop fs -copyFromLocal
EX : $ hadoop fs -copyFromLocal localfile1 HDIR
2. HDFS에서 로컬로 데이터 복사
Sys : $ hadoop fs -copyToLocal <새 파일 이름>
EX : $ hadoop fs -copyToLocal hdfs / 파일 이름 myunx;
-
==============================
5.로컬에서 hdfs로 폴더 파일을 복사하려면 아래 명령을 사용하십시오
로컬에서 hdfs로 폴더 파일을 복사하려면 아래 명령을 사용하십시오
hadoop fs -put /path/localpath /path/hdfspath
또는
hadoop fs -copyFromLocal /path/localpath /path/hdfspath
-
==============================
6.hadoop 명령을 실행할 수있는 "/ install / hadoop / datanode / bin"폴더 또는 경로로 이동하십시오.
hadoop 명령을 실행할 수있는 "/ install / hadoop / datanode / bin"폴더 또는 경로로 이동하십시오.
HDFS에 파일을 저장하려면 다음을 수행하십시오. 형식 : hadoop fs -put "로컬 시스템 경로"/filename.csv "HDFS 대상 경로"
예) ./ hadoop fs -put /opt/csv/load.csv/user/load
여기서 /opt/csv/load.csv는 로컬 리눅스 시스템의 소스 파일 경로입니다.
/ user / load는 "hdfs : // hacluster / user / load"에서 HDFS 클러스터 대상 경로를 의미합니다.
HDFS에서 로컬 시스템으로 파일을 가져 오려면 다음을 수행하십시오. 형식 : hadoop fs -get "/ HDFSsourcefilepath" "/ localpath"
예) hadoop fs -get /user/load/a.csv / opt / csv /
위의 명령을 실행 한 후 HDFS의 a.csv 파일을 로컬 Linux 시스템의 / opt / csv 폴더로 다운로드합니다.
이 업로드 된 파일은 HDFS NameNode 웹 UI를 통해 볼 수도 있습니다.
-
==============================
7.명령 줄에서 -
명령 줄에서 -
Hadoop fs -copyFromLocal
Hadoop fs -copyToLocal
또는 hdfs 파일을 가져 오거나 넣기 위해 spark FileSystem 라이브러리를 사용하십시오.
희망이 도움이됩니다.
from https://stackoverflow.com/questions/28213116/hadoop-copy-a-local-file-system-folder-to-hdfs by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop의 단일 모드와 가상 분산 모드의 차이점은 무엇입니까? (0) | 2019.07.04 |
---|---|
[HADOOP] hadoop에서 "uber 모드"의 목적은 무엇입니까? (0) | 2019.07.04 |
[HADOOP] 스트리밍 데이터 및 Hadoop? (하둡 스트리밍이 아님) (0) | 2019.07.04 |
[HADOOP] BigTable에서 OLAP을 수행 할 수 있습니까? (0) | 2019.07.04 |
[HADOOP] 시퀀스 파일로 저장된 하이브 테이블에 텍스트 파일을로드하는 방법 (0) | 2019.07.04 |