У меня проблема при попытке сделать ETL для большого количества файлов на AWS. Цель - преобразовать файлы JSON в файлы паркета. из-за размера файлов я должен делать это партия за партиями. Допустим, мне нужно сделать это за 15 пакетов, то есть за 15 отдельных прогонов, чтобы иметь возможность преобразовать их все.
Я использую write.mode("append").format("parquet")
для записи в файлы паркета в каждом задании pyspark клея, чтобы сделать это.
Моя проблема в том, что если одно задание по какой-то причине не удалось, то я не знаю, что делать - некоторые разделы обновляются, а некоторые нет, некоторые файлы в пакете были обработаны, а некоторые - нет. например, если моя 9-я работа не удалась, я застрял. Я не хочу удалять все файлы паркета, чтобы начать все сначала, но также не хочу просто перезапустить 9-е задание и вызвать дубликаты.
Есть ли способ защитить файлы паркета, добавляя в него новые файлы только в том случае, если все задание выполнено успешно?
Спасибо !!