Руководства загрузок согласованы с текущей учебной веткой: после карты и разбора SQL можно найти предпосылки запуска, действия каждой загрузки, ожидаемый результат и проверку своего задания. Готовые загрузки отделены от ожидаемого поведения заглушек.
В руководствах STG/ODS/DDS/DM и порядке DAG уточнены отбор данных, зависимости задач и проверки. Снимки ODS описаны как TRUNCATE + INSERT; транзакционные загрузки сохраняют метки STG и читают дельту по HWM. На main маршруты ODS ждут только аэропорты.
Календарь заполняется только при пустой таблице. Зерно факта — (ticket_no, flight_id), его число строк должно точно совпадать с ods.segments. Для sales_report описан пересчет всей истории затронутых дат.
В ТЗ и руководстве DDS закреплено обновление описательных полей только открытых версий dim_routes. Закрытые версии сохраняют значения на момент закрытия; карта уже следует этому правилу.
Основной документ для полей и алгоритмов заданий — ТЗ, для служебных имен и меток времени — соглашения об именах. Руководства ведут к ним и карте, без повторения решений учебных загрузок.
Самопроверка находится рядом с заданием. TESTING.md посвящен проверкам разработки и стенда; отдельно обозначены пределы pytest, validate_dm и E2E. Четыре дизайн-плана и QA-план выделены как история, их основное содержимое сохранено по прежним адресам.
Изменены только 17 Markdown-файлов. SQL, DDL, DAG, конфигурация, карта и данные стенда не изменены. Порядок программы ODS → DDS → DM сохранен.
Проверки
make lint и git diff --check — успешно.
make test — 4 passed, 14 skipped. 13 smoke-тестов пропущены условием доступности airflow.DAG в тестовом окружении; интеграционный тест требует RUN_ODS_INTEGRATION=1.
Сборщик карты --check: 39 объектов, 90 связей, 215 ссылок; HTML соответствует исходникам.
Проверены 292 локальные ссылки в 19 документах, включая якоря и 40 адресов карты, имена задач, таблиц запросов и Make-таргетов. Сохранность содержимого пяти исторических документов проверена сравнением с исходной веткой.
Чтением пройден весь маршрут README → структура/карта → разбор SQL → первое задание → проверка результата; описания сверены с действующими SQL/DAG/DDL и ТЗ.
В Chromium через Playwright пройдены переходы того же маршрута на локальном HTML из Markdown, открыты готовый SQL, ТЗ и самопроверка. Проверены три сценария карты: сегменты билета, происхождение двух аэропортов факта, модели и места; выбор связей, переключение вида и сброс. Проверены переходы из архива к руководству. Ошибок JavaScript нет.
На стенде: загрузки, учебная реализация заглушек и bookings_validate не запускались; в этой рабочей копии нет .env. Браузерная проверка документации не подменяет прогон Airflow/Greenplum.
Руководства загрузок согласованы с текущей учебной веткой: после карты и разбора SQL можно найти предпосылки запуска, действия каждой загрузки, ожидаемый результат и проверку своего задания. Готовые загрузки отделены от ожидаемого поведения заглушек.
Closes #4
Задача: https://git.dementev.space/ddmitry/airflow-greenplum/issues/4
Общий замысел серии: https://git.dementev.space/ddmitry/airflow-greenplum/issues/1
## Что изменилось
- В руководствах STG/ODS/DDS/DM и порядке DAG уточнены отбор данных, зависимости задач и проверки. Снимки ODS описаны как `TRUNCATE + INSERT`; транзакционные загрузки сохраняют метки STG и читают дельту по HWM. На `main` маршруты ODS ждут только аэропорты.
- Календарь заполняется только при пустой таблице. Зерно факта — `(ticket_no, flight_id)`, его число строк должно точно совпадать с `ods.segments`. Для `sales_report` описан пересчет всей истории затронутых дат.
- В ТЗ и руководстве DDS закреплено обновление описательных полей только открытых версий `dim_routes`. Закрытые версии сохраняют значения на момент закрытия; карта уже следует этому правилу.
- Основной документ для полей и алгоритмов заданий — ТЗ, для служебных имен и меток времени — соглашения об именах. Руководства ведут к ним и карте, без повторения решений учебных загрузок.
- Самопроверка находится рядом с заданием. `TESTING.md` посвящен проверкам разработки и стенда; отдельно обозначены пределы pytest, `validate_dm` и E2E. Четыре дизайн-плана и QA-план выделены как история, их основное содержимое сохранено по прежним адресам.
Изменены только 17 Markdown-файлов. SQL, DDL, DAG, конфигурация, карта и данные стенда не изменены. Порядок программы ODS → DDS → DM сохранен.
## Проверки
- `make lint` и `git diff --check` — успешно.
- `make test` — **4 passed, 14 skipped**. 13 smoke-тестов пропущены условием доступности `airflow.DAG` в тестовом окружении; интеграционный тест требует `RUN_ODS_INTEGRATION=1`.
- Сборщик карты `--check`: 39 объектов, 90 связей, 215 ссылок; HTML соответствует исходникам.
- Проверены 292 локальные ссылки в 19 документах, включая якоря и 40 адресов карты, имена задач, таблиц запросов и Make-таргетов. Сохранность содержимого пяти исторических документов проверена сравнением с исходной веткой.
- Чтением пройден весь маршрут README → структура/карта → разбор SQL → первое задание → проверка результата; описания сверены с действующими SQL/DAG/DDL и ТЗ.
- В Chromium через Playwright пройдены переходы того же маршрута на локальном HTML из Markdown, открыты готовый SQL, ТЗ и самопроверка. Проверены три сценария карты: сегменты билета, происхождение двух аэропортов факта, модели и места; выбор связей, переключение вида и сброс. Проверены переходы из архива к руководству. Ошибок JavaScript нет.
**На стенде:** загрузки, учебная реализация заглушек и `bookings_validate` не запускались; в этой рабочей копии нет `.env`. Браузерная проверка документации не подменяет прогон Airflow/Greenplum.
Руководства STG/ODS/DDS/DM сверены с действующими SQL и DAG,
ожидания учебных заглушек связаны с ТЗ. Самопроверка заданий
отделена от проверок разработки и исторических планов.
Для dim_routes закреплено обновление описательных полей только
у открытых версий. SQL, DAG, DDL и настройки стенда не менялись.
Проверки: make lint; make test (4 passed, 14 skipped); карта;
292 локальные ссылки; маршрут чтения и карта в Chromium.
Живой ETL не запускался.
ddmitry
merged commit 351dbbb3c1 into main2026-09-20 22:59:50 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Руководства загрузок согласованы с текущей учебной веткой: после карты и разбора SQL можно найти предпосылки запуска, действия каждой загрузки, ожидаемый результат и проверку своего задания. Готовые загрузки отделены от ожидаемого поведения заглушек.
Closes #4
Задача: #4
Общий замысел серии: #1
Что изменилось
TRUNCATE + INSERT; транзакционные загрузки сохраняют метки STG и читают дельту по HWM. Наmainмаршруты ODS ждут только аэропорты.(ticket_no, flight_id), его число строк должно точно совпадать сods.segments. Дляsales_reportописан пересчет всей истории затронутых дат.dim_routes. Закрытые версии сохраняют значения на момент закрытия; карта уже следует этому правилу.TESTING.mdпосвящен проверкам разработки и стенда; отдельно обозначены пределы pytest,validate_dmи E2E. Четыре дизайн-плана и QA-план выделены как история, их основное содержимое сохранено по прежним адресам.Изменены только 17 Markdown-файлов. SQL, DDL, DAG, конфигурация, карта и данные стенда не изменены. Порядок программы ODS → DDS → DM сохранен.
Проверки
make lintиgit diff --check— успешно.make test— 4 passed, 14 skipped. 13 smoke-тестов пропущены условием доступностиairflow.DAGв тестовом окружении; интеграционный тест требуетRUN_ODS_INTEGRATION=1.--check: 39 объектов, 90 связей, 215 ссылок; HTML соответствует исходникам.На стенде: загрузки, учебная реализация заглушек и
bookings_validateне запускались; в этой рабочей копии нет.env. Браузерная проверка документации не подменяет прогон Airflow/Greenplum.