- Зачем:
- fact_flight_sales брал airport_sk через dds.dim_routes (студенческое задание SCD2);
на ветке main без реализованного dim_routes все airport_sk были NULL,
и эталонные витрины sales_report/airport_traffic становились бесполезны.
- Что:
- fact_flight_sales_load.sql: добавлен subquery ods_rte (ROW_NUMBER по ods.routes),
dep/arr airport_sk теперь через ods.routes (эталон); airplane_sk — через dim_routes (point-in-time).
- analyst_spec.md: удалены STG-задания (1.1–1.3) и ods.routes (2.3), добавлены секции
«Почему STG уже реализован» и «Пересчёт факта», исправлен ODS intro, перенумерованы части.
- assignment_design.md: обновлены таблицы эталон/задание, порядок выполнения; убраны
validate_stg и check_ods_routes_rowcount из структуры валидационного DAG.
- db_schema.md: статус уточнён («реализовано в ветке solution»), добавлена оговорка
о заглушках на main, DQ-контракт дополнен примечанием.
- Проверка:
- make test → 4 passed, 9 skipped.
- ручная проверка: TRUNCATE dds.fact_flight_sales → перезапуск DDS DAG →
COUNT(departure_airport_sk) должен равняться COUNT(*).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Документация
Этот каталог содержит дополнительные материалы к учебному стенду.
Быстрый путь (для менти)
- Быстрый старт и команды
- Учебные задания
- План тестирования и проверки
- Главный учебный DAG: bookings → stg
- Учебный DAG: stg -> ods
- Учебный DAG: ods -> dds
- Учебный DAG: dds -> dm
Дизайн (design/)
- Единые конвенции нейминга DWH (служебные поля и SCD)
- Схема БД всех слоёв DWH
- Дизайн-документ STG
- Дизайн-документ ODS
- Дизайн-документ DDS
- Дизайн-документ DM
- Архитектурные решения (ADR)
- PRD: стратегия курсовой
- Дизайн задания
Справочники (reference/)
- Как устроен Docker-стенд (образы, Connections, переменные окружения)
- PXF в этом проекте (проектная реализация)
- Про время/UTC в bookings
- Известные проблемы bookings-db
- Бенчмарк генерации данных
- QA-план отладки пайплайна
- Порядок запуска DAG-ов
- End-to-end протокол тестирования
- Тестирование DAG-ов через API
Планы (plans/)
Активные планы работ. После выполнения переносятся в archive/.
Архив (archive/)
Выполненные планы, закрытые ревью. Ссылки внутри файлов могут быть устаревшими.