Files
airflow-greenplum/docs/assignment
ddadminandClaude Opus 4.6 d3f2f42e38 docs(solution): маркетинг-баннер, шаг 7, навигатор по реализации
- Зачем:
  - на solution не было явного «что дальше» после шага 6 и навигации по паттернам.
- Что:
  - README: маркетинг-баннер + шаг 7 «Изучите готовую реализацию».
  - docs/assignment/README: навигатор по всем паттернам (ODS → DDS → DM) с файлами.
  - архивирован план онбординга в docs/archive/.
- Проверка:
  - make test (4 passed), make lint (clean).
  - grep «заглушки/SELECT 1» в README и docs/assignment/README — не найдено.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:07:52 +03:00
..

Учебные задания

Это ветка solution — здесь всё уже реализовано. Используйте её как справочник, а задания выполняйте на ветке main.

Навигатор по реализации

На этой ветке полностью работает пайплайн STG → ODS → DDS → DM. Ниже — рекомендуемый порядок изучения: от простых паттернов к сложным.

ODS: загрузка из STG

Паттерн Файл Что посмотреть
TRUNCATE + INSERT (snapshot-справочник) sql/ods/airports_load.sql Фильтрация по stg_batch_id, дедупликация через ROW_NUMBER()
SCD1 UPSERT (транзакционные данные) sql/ods/bookings_load.sql TEMP TABLE → UPDATE (IS DISTINCT FROM) → INSERT, HWM

DDS: измерения и факт

Паттерн Файл Что посмотреть
SCD1 (простое измерение) sql/dds/dim_airports_load.sql UPSERT с суррогатным ключом
SCD1 с обогащением sql/dds/dim_airplanes_load.sql JOIN с ods.seats для total_seats
SCD2 (версионирование) sql/dds/dim_routes_load.sql hashdiff, valid_from/valid_to, денормализация
Факт с point-in-time JOIN sql/dds/fact_flight_sales_load.sql SCD2 lookup, защитные LEFT JOIN

DM: витрины

Паттерн Файл Что посмотреть
UPSERT с HWM по датам sql/dm/sales_report_load.sql Инкрементальная агрегация фактов
Full Rebuild (AO Column) sql/dm/route_performance_load.sql TRUNCATE + INSERT, агрегация по SCD2 route_bk
UNION ALL (dual-role dimension) sql/dm/airport_traffic_load.sql Разворот факта: departure + arrival
Двухуровневая агрегация sql/dm/monthly_overview_load.sql Честный avg_load_factor через 2 уровня
Метод затронутых ключей sql/dm/passenger_loyalty_load.sql HWM по пассажирам, пересчёт полной истории

Техническое задание

Основной документ: analyst_spec.md — ТЗ от аналитика с описанием всех таблиц, маппингами, бизнес-правилами и подсказками.

Описания DAG-ов

Для менторов

Дизайн заданий и педагогическая логика: docs/design/assignment_design.md.