하둡은 대규모 데이터의 이동을 위해서 맵리듀스를 이용한 DistCp를 제공한다.
* 여러군데의 파일을 각각의 폴더 위치로 이동시키는 것은 불가
* 목적지(destination) 폴더에 파일이 존재하면 파일이 전달되지 않을 수도 있다.
파일 이동시 확인하도록 하자.
# distcp 명령
hadoop distcp hdfs://source hdfs://destination
# update or overwrite
# 파일 이름이 동일할 경우 update는 파일사이즈를 비교해서 옮기고, overwrite는 그냥 덮어쓴다.
hadoop distcp -update hdfs://source hdfs://destination
hadoop distcp -overwrite hdfs://source hdfs://destination
# 여러위치의 파일을 하나의 위치로 이동, *를 이용하여 복사하는것도 가능
hadoop distcp hdfs://source1 hdfs://soucrce2 hdfs://destination
hadoop distcp hdfs://source/*/* hdfs://destination
hadoop distcp hdfs://source/*.csv hdfs://destination
# 여러 위치를 파일에 저장하고 -f 옵션으로 하나의 위치로 이동
hadoop distco -f hdfs://source_file hdfs://destination
# -D 옵션을 이용하여 하둡 처리 옵션을 지정하는 것도 가능
hadoop distcp -Dmapred.job.queue.name=dist hdfs://source hdfs://destination
# AWS S3를 이용할 경우 키가 다를때
hadoop distcp -Dfs.s3n.awsAccessKeyId=[source_액세스키1] -Dfs.s3n.awsSecretAccessKey=[source_시크릿키1] \
-Dfs.s3.awsAccessKeyId=[target_액세스키2] -Dfs.s3.awsSecretAccessKey=[target_시크릿키2] \
-Dmapred.job.queue.name=q2 \
s3n://[source_url] s3://[target_url]
'빅데이터 > hadoop' 카테고리의 다른 글
[hadoop][hive] 맵리듀스 처리시 오류가 발생해도 무시하고 진행하게 하는 프로퍼티 (0) | 2016.11.24 |
---|---|
[hadoop] 하둡 처리중 NoClassDefFoundError 오류가 발생하는 경우 (0) | 2016.10.27 |
[hadoop] 하둡 3.0의 신규기능과 이레이져 코딩 (0) | 2016.10.12 |
[hdfs] Non DFS used 용량 (0) | 2016.08.25 |
[hadoop] HDFS의 유용한 명령어 (0) | 2016.07.27 |