hadoop은 로컬 파일 시스템 폴더를 HDFS로 복사합니다.
로컬 파일 시스템에서 HDFS로 폴더를 복사해야합니다. 폴더 (모든 하위 폴더 포함)를 HDFS로 이동하는 예를 찾을 수 없습니다.
$ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI
시도해 볼 수 있습니다.
hadoop fs -put /path/in/linux /hdfs/path
또는
hadoop fs -copyFromLocal /path/in/linux /hdfs/path
기본적으로 put
및 둘 다 copyFromLocal
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
간단히
hdfs dfs -put <localsrc> <dest>
예를 들어 자세히 설명합니다.
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
당신이 사용할 수있는 :
1. 로컬 파일에서 HDFS로 데이터로드
구문 : $ hadoop fs –copyFromLocal
EX: $hadoop fs –copyFromLocal localfile1 HDIR
2. Copying data From HDFS to Local
Sys: $hadoop fs –copyToLocal < new file name>
EX: $hadoop fs –copyToLocal hdfs/filename myunx;
To copy a folder file from local to hdfs, you can the below command
hadoop fs -put /path/localpath /path/hdfspath
or
hadoop fs -copyFromLocal /path/localpath /path/hdfspath
Navigate to your "/install/hadoop/datanode/bin" folder or path where you could execute your hadoop commands:
To place the files in HDFS: Format: hadoop fs -put "Local system path"/filename.csv "HDFS destination path"
eg)./hadoop fs -put /opt/csv/load.csv /user/load
Here the /opt/csv/load.csv is source file path from my local linux system.
/user/load means HDFS cluster destination path in "hdfs://hacluster/user/load"
To get the files from HDFS to local system: Format : hadoop fs -get "/HDFSsourcefilepath" "/localpath"
eg)hadoop fs -get /user/load/a.csv /opt/csv/
After executing the above command, a.csv from HDFS would be downloaded to /opt/csv folder in local linux system.
This uploaded files could also be seen through HDFS NameNode web UI.
From command line -
Hadoop fs -copyFromLocal
Hadoop fs -copyToLocal
Or you also use spark FileSystem library to get or put hdfs file.
Hope this is helpful.
ReferenceURL : https://stackoverflow.com/questions/28213116/hadoop-copy-a-local-file-system-folder-to-hdfs
'UFO ET IT' 카테고리의 다른 글
URL 매개 변수를 압축하는 방법 (0) | 2021.01.11 |
---|---|
커피 스크립트에서 케이스 문 전환 (0) | 2021.01.10 |
AVPlayer 비디오 재생이 종료되는시기를 감지하는 방법 (0) | 2021.01.10 |
열거 확장 방법 (0) | 2021.01.10 |
IdentityHashMap의 사용 사례 (0) | 2021.01.10 |