上传非常大的文件时EMR失败

时间:2016-12-23 10:41:24

标签: apache-spark emr amazon-emr

我有一个用例,我必须将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秒时,此错误会频繁发生。

需要一些关于如何进行调试的指导。

1 个答案:

答案 0 :(得分:0)

从EMR上传到S3的文件大小限制为5GB。 您可以在上传文件之前压缩文件,也可以将文件拆分成多个部分。