我有一个用例,我必须将1000个20GB文件从EMR上传到S3。
使用fileSystem.moveFromLocalFile API上传文件时,作业失败并显示以下错误:
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)
请注意,当20GB文件的数量大约为1000时,此错误会频繁发生,当文件数量大约为100秒时,此错误会频繁发生。
需要一些关于如何进行调试的指导。
答案 0 :(得分:0)
从EMR上传到S3的文件大小限制为5GB。 您可以在上传文件之前压缩文件,也可以将文件拆分成多个部分。