feat(orders): добавлен версионный ODS заказов
- Зачем: - менти должен различать версию заказа, наблюдение источника и запуск загрузки. - Что: - добавлены таблицы версий и брака заказов, а также представление ods.order_v. - даг orders_ingest дополнен строгим переходом одного среза STG в две цели ODS. - результаты опытов записаны в документации, дефект генератора вынесен в #102. - Проверка: - make lint config-test smoke check-clickhouse check-services.
This commit is contained in:
@@ -8,6 +8,22 @@ AS
|
||||
SELECT *
|
||||
FROM ods.event_dist FINAL;
|
||||
|
||||
-- ODS: каноническое чтение текущего состояния заказов.
|
||||
--
|
||||
-- То же, что у событий, но версию здесь задаёт источник: физическая таблица
|
||||
-- хранит все приехавшие версии заказа, а FINAL оставляет ту, у которой
|
||||
-- updated_at позже. Читать заказы голым SELECT по _dist значит зависеть от
|
||||
-- того, сколько фоновых слияний успело пройти.
|
||||
--
|
||||
-- Поля остаются языком источника, обогащения нет: DDS читает это
|
||||
-- представление и отдельно решает, какой будет его модель (ADR 0010).
|
||||
-- Способ выбора версии можно заменить, не трогая потребителей, — за именем
|
||||
-- скрыт FINAL, а не устройство.
|
||||
CREATE VIEW IF NOT EXISTS ods.order_v ON CLUSTER clickstream_cluster
|
||||
AS
|
||||
SELECT *
|
||||
FROM ods.order_snapshot_dist FINAL;
|
||||
|
||||
-- ODS: разбор сырья в событие и в таблицу ошибок.
|
||||
--
|
||||
-- Матвью две, и вместе они обязаны делить поток без зазора и без нахлёста:
|
||||
|
||||
Reference in New Issue
Block a user