Apache spark spark savemode.append文件已存在
在AmazonEMR(5.13)中,我们在SparkJobs内部编写S3时遇到了罕见的问题。以下是日志的一部分:Apache spark spark savemode.append文件已存在,apache-spark,amazon-s3,emr,orc,Apache Spark,Amazon S3,Emr,Orc,在AmazonEMR(5.13)中,我们在SparkJobs内部编写S3时遇到了罕见的问题。以下是日志的一部分: Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 3 in stage 2.0 failed 4 times, most recent failure: Lost task 3.3 in stage 2.0 ... Caused by: java.io.IOExcep
Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 3 in stage 2.0 failed 4 times, most recent failure: Lost task 3.3 in stage 2.0
...
Caused by: java.io.IOException: File already exists:s3://*****/part-00003-58fe4151-60d6-4605-b971-21dbda31678b-c000.snappy.orc
at com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.create(S3NativeFileSystem.java:507)
...
这看起来很奇怪,因为我们使用SaveMode.Append来保存数据集:
input.write().mode(SaveMode.Append).orc(path);
我在谷歌上搜索了一下,发现了一些相同的问题(看),但我们没有使用spark.Projection,所以我不知道发生了什么
有人能告诉我在哪里可以找到这个问题的根源吗 EMR代码已关闭,因此我无法对其内部进行评论。我知道,如果没有一致的层,针对S3提交工作很容易出现罕见的失败,或者是可见的(此处),或者只是丢失数据,因为假目录重命名在路径下列出内容时会丢失新文件 尝试使用本地HDF作为目标,或使用一致的EMR