Зачем: - Показать два ритма пересборки агрегатов на готовых витринах DM. Что: - Добавлены физические модели и публичные договоры revenue_daily и daily_traffic. - Добавлен dm_transform с оконной заменой выручки и полным пересчетом трафика. - Отрицательный опыт локального соединения через публичные _v зафиксирован; выбран явный GLOBAL LEFT JOIN. - Замены партиций сериализованы после подтвержденного OOM при трех одновременных задачах. - Обновлены архитектурные документы и мастер-спека. Проверка: - make lint, make config-test, make smoke, make check-clickhouse, make check-services. - Чистая сборка world_recreate, dds_transform и dm_transform; меры сверены с прямыми агрегатами.
29 lines
945 B
SQL
29 lines
945 B
SQL
-- DM: публичные договоры стендовых витрин.
|
|
|
|
-- День и категория — зерно выручки. Служебные колонки показывают запуск,
|
|
-- который последним заменил дневную партицию.
|
|
CREATE VIEW IF NOT EXISTS dm.revenue_daily_v ON CLUSTER clickstream_cluster
|
|
AS
|
|
SELECT
|
|
report_date,
|
|
product_category,
|
|
orders,
|
|
units,
|
|
revenue,
|
|
aov,
|
|
_load_id,
|
|
_load_ts
|
|
FROM dm.revenue_daily_dist;
|
|
|
|
-- Полный пересчет пишет новую версию каждого дня. FINAL оставляет текущие
|
|
-- счетчики и прячет повторы запусков от потребителя.
|
|
CREATE VIEW IF NOT EXISTS dm.daily_traffic_v ON CLUSTER clickstream_cluster
|
|
AS
|
|
SELECT
|
|
report_date,
|
|
visitors,
|
|
known_users,
|
|
_load_id,
|
|
_load_ts
|
|
FROM dm.daily_traffic_dist FINAL;
|