Зачем: выражения «собираются в донор» и «публикуются дни» требовали знать устройство конвейера до чтения объяснения. Что: описаны назначение промежуточных таблиц и последовательность расчета, записи и замены разделов. Перечитаны остальные объяснения: выбор дней, разворачивание позиций заказа, проверка сессий и повтор запуска. Проверка: make lint, git diff --check, локальные ссылки и якоря. SQL без комментариев и AST обоих дагов без строк документации не изменились. Refs: #249
10 lines
951 B
SQL
10 lines
951 B
SQL
-- 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;
|