Какую проверку лучше добавить как invariant, чтобы защититься от повторной загрузки одного и того же дня и появления duplicates в витрине?

AПроверять, что среднее значение метрики выглядит похоже на прошлую неделю
BПроверять уникальность primary key в каждой partition, например count_distinct(primary_key) = row count, и требовать idempotency загрузки
CПроверять, что максимальное значение метрики не слишком большое
DПроверять, что на дашборде нет резких углов на графике
Правильный ответ. Инвариант на уникальность primary key в partition вместе с idempotency предотвращает размножение фактов при повторных загрузках.

Разбор

Если загрузка неидемпотентна, reprocessing может добавлять те же строки повторно. Проверка вида count_distinct(primary_key) = row count ловит нарушение уникальности сразу после загрузки. Это надежнее визуальных проверок и помогает строить устойчивые пайплайны и отчеты.

Проверь себя · 1/3разбор после ответа
В отчете одновременно упали почти все метрики: sessions, events, revenue, и падение начинается ровно с 14:00. Какое наблюдение лучше всего подтверждает гипотезу missing data?
Открыть Карьерник в Telegram

Ещё вопросы по теме «Качество данных и инварианты»