файл spark savemode.append уже существует - PullRequest
0 голосов
/ 11 мая 2018

у нас возникают редкие проблемы с записью в S3 внутри заданий Spark в Amazon EMR (5.13). Вот часть журнала:

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.speculation, поэтому я просто понятия не имею, что произошло.

Кто-нибудь может подсказать мне, где я могу найти корни этой проблемы?

1 Ответ

0 голосов
/ 14 мая 2018

код EMR закрыт, поэтому я не могу комментировать его внутренности. Я действительно знаю, что без постоянного уровня фиксация работы с S3 подвержена редким сбоям, либо видимым (здесь), либо простой потере данных, так как при переименовании поддельного каталога пропускаются новые файлы, когда он перечисляет вещи по пути.

Попробуйте использовать локальные hdfs в качестве места назначения или согласованную EMR.

...