У меня есть прецедент, где я должен загрузить 1000-е из 20-гигабайтных файлов с EMR на S3.EMR сбой при загрузке очень большого файла
При загрузке файлов с помощью 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 файлов являются порядка 1000s и реже, когда число файлов порядка 100 с.
Нужно руководствоваться тем, как его отлаживать.
Чтобы получить четкое изображение, почему вы не можете использовать aws s3 cp или, возможно, поместить эти файлы в HDFS и использовать s3-dist-cp? – Chirag