- Зачем:
- план содержал неверные имена полей и формулы, которые давали ошибки при выполнении.
- Что:
- `_batch_id` → `batch_id` в запросах снапшот-таблиц STG (реальное имя колонки).
- формула SCD2-маршрутов: `COUNT(DISTINCT route_no)` вместо `route_no || '-' || validity`
(DDS берёт один route_no с последним validity через rn=1).
- `ticket_price` → `price`, `boarding_seq IS NOT NULL` → `is_boarded = TRUE`
(реальные колонки dds.fact_flight_sales).
- Блок 2: добавлено пояснение, что STG-DAG всегда генерирует новый день,
поэтому тест идемпотентности — только ODS/DDS/DM без повторного запуска STG.
- Блок 5.2: уточнено, что ODS намеренно использует batch_id из STG вместо run_id
для сквозного lineage — это паттерн, а не баг.
- Проверка:
- все SQL-запросы из плана выполнены на стенде без ошибок.
Документация
Этот каталог содержит дополнительные материалы к учебному стенду.
Быстрый путь (для менти)
- Быстрый старт и команды
- Учебные задания
- План тестирования и проверки
- Главный учебный DAG: bookings → stg
- Учебный DAG: stg -> ods
- Учебный DAG: ods -> dds
Технические детали (опционально)
- Как устроен Docker-стенд (образы, Connections, переменные окружения)
- Единые конвенции нейминга DWH (служебные поля и SCD)
- PXF в этом проекте (проектная реализация)
- Дизайн stg для bookings (черновик)
- Дизайн ods для bookings (черновик)
- Дизайн dds для bookings (черновик)
- Про время/UTC в bookings (черновик)