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
+9
-14
@@ -1,18 +1,13 @@
|
||||
"""Трансформации слоя DDS: сборка моделей.
|
||||
"""Трансформации DDS: заказы, сессии и карта идентичностей.
|
||||
|
||||
Заказ и сессия собираются заменой дневных партиций. Карта идентичностей
|
||||
пересчитывается целиком после заказа, потому что читает его текущую модель.
|
||||
Заказы и сессии собираются в донор, затем публикуются заменой дневных партиций.
|
||||
Карта идентичностей пересчитывается целиком после заказов и записывается новой
|
||||
версией; публичное представление выбирает текущие строки через FINAL.
|
||||
|
||||
Расписания у дага нет и параметров тоже: объём каждого прогона он выводит сам
|
||||
из состояния слоёв и позиции мира, поэтому один и тот же запуск одинаково
|
||||
верен из триггера дневного конвейера, с кнопки менти и после падения
|
||||
(docs/architecture/etl.md, «Объём прогона»).
|
||||
|
||||
Заказ и сессия гасят повтор заменой партиции целиком: день собирается в
|
||||
таблицу-двойник и подменяет собой партицию цели. Карта пишет полный набор пар
|
||||
новой версией, а точное чтение даёт FINAL. Замена партиции разобрана в
|
||||
sql/dds/order_replace.sql; точное чтение карты описано в
|
||||
sql/ddl/50-dds-views.sql.
|
||||
Даг запускается без расписания и параметров. Даты он выбирает по состоянию
|
||||
таблиц и позиции мира. Новый запуск заново определяет диапазон: наличие даты
|
||||
не подтверждает полноту дня и не гарантирует повтор его сборки после сбоя.
|
||||
Подробности — docs/architecture/etl.md, «Объём прогона» и «Идемпотентность».
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -298,7 +293,7 @@ def dds_transform():
|
||||
|
||||
@task_group(group_id="order")
|
||||
def order():
|
||||
"""Заказ: дышащее окно плюс дни, которых в слое ещё нет."""
|
||||
"""Заказ: изменяемые дни последнего слепка и пропущенные дни."""
|
||||
|
||||
@task
|
||||
def scope() -> dict[str, object]:
|
||||
|
||||
Reference in new issue
Block a user