docs(warehouse): упрощены объяснения витрин, сессий и пересчета
Зачем: читателю ступеней 1–4 нужно проследить выбор дней, расчет строки и публикацию результата без расшифровки метафор. Что: согласованы справочники DM, сессий, ETL и два раздела хранилища с комментариями шести SQL-примеров. Уточнены ограничения повторного запуска и выбора атрибутов при равном времени событий. Проверка: make lint, git diff --check, локальные Markdown-ссылки и якоря. SQL без комментариев совпадает; AST Python без строк документации совпадает. Исторические разделы и материалы вне границ задачи сохранены. Refs: #249
This commit is contained in:
1 parent
84dc718f62
commit
5f317ba8d2
11 files changed
+440
-490
No files matched your search
@@ -1,11 +1,10 @@
|
||||
-- DDS: подмена одного дня сессий собранной партицией двойника.
|
||||
-- DDS: замена одного дня в session_rep готовой партицией session_stage_rep.
|
||||
-- ON CLUSTER выполняет замену на локальных таблицах каждого шарда.
|
||||
-- Замена атомарна на одном шарде, общей транзакции для кластера нет.
|
||||
-- Повтор с тем же донором не добавляет копий строк.
|
||||
--
|
||||
-- Механика и доводы целиком — sql/dds/order_replace.sql: замена идёт по
|
||||
-- локальным таблицам, шард за шардом, атомарность пошардовая, день
|
||||
-- подставляет Jinja, потому что параметров ALTER … PARTITION не берёт.
|
||||
--
|
||||
-- Разница одна, и она про отказ. Несобранный день заказа вернуло бы в работу
|
||||
-- следующее окно; сессиям возвращать нечем, и упавшая замена оставляет дыру
|
||||
-- до тех пор, пока её не найдёт счёт хвоста (sql/dds/session_scope.sql).
|
||||
-- Дату из session_scope.sql подставляет Jinja: параметр ClickHouse в
|
||||
-- ALTER ... PARTITION здесь не поддерживается. Поиск дней следующего
|
||||
-- запуска не обнаружит неполный день, если часть его строк уже есть в DDS.
|
||||
ALTER TABLE dds.session_rep ON CLUSTER clickstream_cluster
|
||||
REPLACE PARTITION '{{ params.day }}' FROM dds.session_stage_rep;
|
||||
Reference in new issue
Block a user