docs(warehouse): объяснены расчет строк и замена дневных разделов
Зачем: выражения «собираются в донор» и «публикуются дни» требовали знать устройство конвейера до чтения объяснения. Что: описаны назначение промежуточных таблиц и последовательность расчета, записи и замены разделов. Перечитаны остальные объяснения: выбор дней, разворачивание позиций заказа, проверка сессий и повтор запуска. Проверка: make lint, git diff --check, локальные ссылки и якоря. SQL без комментариев и AST обоих дагов без строк документации не изменились. Refs: #249
This commit is contained in:
1 parent
5f317ba8d2
commit
086007fbd4
12 files changed
+216
-166
No files matched your search
@@ -1,7 +1,9 @@
|
||||
-- DM: сборка выручки за выбранный диапазон в донор.
|
||||
-- DROP PARTITION ALL очищает донор на каждом узле. Вставка ниже дает
|
||||
-- одну строку на день заказа и категорию товара: только оплаченные заказы.
|
||||
-- ARRAY JOIN разворачивает согласованные позиции трех массивов вместе.
|
||||
-- DM: расчет выручки за дни от first_day до last_day включительно.
|
||||
-- DROP PARTITION ALL очищает промежуточную revenue_daily_stage_rep.
|
||||
-- Затем INSERT записывает по одной строке итогов на день и категорию товара.
|
||||
-- Основная revenue_daily_rep остается прежней до revenue_daily_replace.sql.
|
||||
-- В расчет входят только оплаченные заказы. ARRAY JOIN превращает артикул,
|
||||
-- количество и цену с одним индексом в массивах в одну строку позиции заказа.
|
||||
-- Причина выбора DROP вместо TRUNCATE — в sql/dds/order_rebuild.sql.
|
||||
ALTER TABLE dm.revenue_daily_stage_rep ON CLUSTER clickstream_cluster
|
||||
DROP PARTITION ALL;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
-- DM: замена дня выручки готовой партицией донора.
|
||||
-- DM: заменяем раздел revenue_daily_rep за выбранный день готовым разделом
|
||||
-- промежуточной revenue_daily_stage_rep. Раздел таблицы называется партицией.
|
||||
-- Дату из revenue_daily_scope.sql подставляет Jinja: параметр ClickHouse
|
||||
-- в ALTER ... PARTITION здесь не поддерживается.
|
||||
-- ON CLUSTER выполняет замену на локальных таблицах каждого шарда.
|
||||
-- Замена атомарна на одном шарде, общей транзакции для кластера нет.
|
||||
-- Повтор с тем же донором не добавляет копий строк.
|
||||
-- На одном шарде раздел меняется целиком; общей транзакции для кластера нет.
|
||||
-- Повтор с теми же строками промежуточной таблицы не добавляет копий в основной.
|
||||
ALTER TABLE dm.revenue_daily_rep ON CLUSTER clickstream_cluster
|
||||
REPLACE PARTITION '{{ params.day }}' FROM dm.revenue_daily_stage_rep;
|
||||
@@ -1,6 +1,6 @@
|
||||
-- DM: диапазон пересборки выручки, first_day и last_day включительно.
|
||||
-- Последний слепок ODS задает даты оформления еще изменяемых заказов.
|
||||
-- Агрегат читает DDS; ODS нужен только для границ диапазона.
|
||||
-- Последний слепок ODS задает даты оформления заказов, которые еще могут
|
||||
-- измениться. Саму выручку считаем по DDS; ODS нужен только для выбора дат.
|
||||
-- Левая граница расширяется до первого дня с оплаченными заказами DDS,
|
||||
-- которого нет в витрине. Так первый запуск охватывает историю выручки.
|
||||
-- По наличию даты нельзя обнаружить частично заполненный день.
|
||||
|
||||
Reference in new issue
Block a user