Сначала определите идентичность события: event_id либо согласованный составной ключ. Затем выберите правило сохранения версии и обеспечьте идемпотентную запись.
Представь, что в raw-таблицу начали приходить дубли событий. Как бы ты построил дедупликацию?
Сначала определите идентичность события: event_id либо согласованный составной ключ. Затем выберите правило сохранения версии и обеспечьте идемпотентную запись.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала определите идентичность события: event_id либо согласованный составной ключ. Затем выберите правило сохранения версии и обеспечьте идемпотентную запись.
В batch можно ранжировать строки по ключу и версии, оставляя одну. В streaming нужен механизм состояния с понятным сроком хранения ключей и политикой для поздних повторов.
Не считайте одинаковый payload безусловным дублем: два настоящих события могут совпадать по содержимому. Raw полезно сохранять неизменным для повторной обработки, а очищенный слой — публиковать отдельно. Дедупликация в ограниченном окне не удаляет гарантированно повторы любой давности.