Как вы работали с файлами при повторном запуске DAG после его падения, чтобы не перезаписать данные в S3 неполными данными?

Пишите результат запуска в отдельный staging-префикс, проверяйте полноту и только затем публикуйте новую версию. Не очищайте рабочие файлы до успешной записи.

Короткий ответ

Что ответить на собеседовании

Пишите результат запуска в отдельный staging-префикс, проверяйте полноту и только затем публикуйте новую версию. Не очищайте рабочие файлы до успешной записи.

Подробный разбор

Ответ с пояснениями

Пишите результат запуска в отдельный staging-префикс, проверяйте полноту и только затем публикуйте новую версию. Не очищайте рабочие файлы до успешной записи.

Используйте стабильный идентификатор периода и отдельный идентификатор попытки. После проверки числа файлов, схемы и контрольных метрик переключайте указатель или каталог на готовый набор.

В S3 нет атомарного переименования целой «папки». Поэтому потребители должны читать опубликованный manifest или транзакционную таблицу, а не произвольные файлы незавершённого запуска. Повторная попытка не должна смешивать старые и новые данные.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее