【问题标题】:spark savemode.append file already existsspark savemode.append 文件已经存在
【发布时间】:2018-10-21 21:37:26
【问题描述】:

在 Amazon EMR (5.13) 的 Spark 作业中写入 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.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);

我用谷歌搜索了一下,发现了几个相同的问题(看here),但我们不使用 spark.speculation,所以我不知道发生了什么。

谁能建议我在哪里可以找到这个问题的根源?

【问题讨论】:

    标签: apache-spark amazon-s3 emr orc


    【解决方案1】:

    EMR 代码已关闭,因此我无法对其内部进行评论。我确实知道,如果没有一致的层,针对 S3 提交工作很容易出现罕见的故障,无论是可见的(此处)还是简单地丢失数据,因为假目录重命名会在路径下列出内容时丢失新文件。

    尝试使用本地 hdfs 作为目标,或一致的 EMR。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多