2016-12-23 3 views
0

EMR에서 S3로 1000GB의 20GB 파일을 업로드해야하는 유스 케이스가 있습니다. fileSystem.moveFromLocalFile의 API를 사용하여 파일을 업로드하는 동안매우 큰 파일을 업로드하는 동안 EMR이 실패합니다.

, 작업이 다음 오류와 함께 실패 :이 오류가 20기가바이트 파일의 수는 자주 할 때 1000의 순서이며, 경우에 자주 발생

16/12/23 07:25:04 WARN TaskSetManager: Lost task 107.0 in stage 16.0 (TID 94646, ip-172-31-3-153.ec2.internal): java.io.IOException: Error closing multipart upload 
    at com.amazon.ws.emr.hadoop.fs.s3n.MultipartUploadOutputStream.uploadMultiParts(MultipartUploadOutputStream.java:377) 
    at com.amazon.ws.emr.hadoop.fs.s3n.MultipartUploadOutputStream.close(MultipartUploadOutputStream.java:394) 
    at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74) 
    at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108) 
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:61) 
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:119) 
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:366) 
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:356) 
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338) 
    at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2017) 
    at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1985) 
    at org.apache.hadoop.fs.FileSystem.moveFromLocalFile(FileSystem.java:1972) 
    at com.amazon.ws.emr.hadoop.fs.EmrFileSystem.moveFromLocalFile(EmrFileSystem.java:419) 

하는 것으로 수 파일의 수는 100 대입니다.

디버깅에 대한 지침이 필요합니다.

+0

선명한 그림을 얻으려면 왜 aws s3 cp를 사용하거나 HDFS에 파일을 넣고 s3-dist-cp를 사용할 수 없습니까? – Chirag

답변

0

EMR에서 S3로 업로드되는 파일의 크기에는 최대 5GB가 있습니다. 업로드하기 전에 파일을 압축하거나 여러 부분으로 나눌 수 있습니다.

관련 문제