Обработка должна быть возобновляемой: неизменяемый входной файл, устойчивый идентификатор загрузки, checkpoints и идемпотентная запись.
Как должна быть спроектирована ETL-система, если обработка файла на миллион строк упала после успешной нормализации примерно 700 тысяч строк?
Обработка должна быть возобновляемой: неизменяемый входной файл, устойчивый идентификатор загрузки, checkpoints и идемпотентная запись.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обработка должна быть возобновляемой: неизменяемый входной файл, устойчивый идентификатор загрузки, checkpoints и идемпотентная запись.
Фиксируйте прогресс после успешного сохранения порции, а не только нормализации в памяти. После сбоя повторяйте незавершённую порцию без дублей. Проверяйте полноту по количеству и контрольным суммам; плохие строки отправляйте в отдельный карантин, сохраняя возможность повторной обработки.