Добавлена первая лабораторная: студент восстанавливает внешнюю таблицу PXF и загрузку снимка airports, испытывает повтор и изменение источника, затем передает данные в ODS. Задание встроено перед существующими работами на снимки ODS. Вопросы сопровождают опыты; команды и помощь по Airflow раскрываются по месту.
Новый готовый DAG lab_pxf_airports выполняет восемь задач загрузки/DQ четырех справочников с общим Run ID. Используются существующие SQL; генератор транзакционных дней не участвует в опытах. Независимая сверка читает Postgres напрямую и сравнивает ключи, бизнес-поля и метки STG/ODS.
Проверки:
make lint, git diff --check, ссылки, карта и Markdown-рендер Gitea прошли.
make test: 14 passed, 15 skipped (14 smoke-тестов из-за существующих заглушек Airflow, один opt-in интеграционный тест ODS). Настоящий DagBag проверен отдельно.
На стенде: все 5501 аэропорт, повтор A, изменение имени в B при сохранении A, отказ на старой копии, общий B принят действующим resolver ODS, источник восстановлен и цепочка дошла до DM.
Независимое ревью: Standards — замечаний нет; Spec — исправлена и воспроизведена ветка восстановления уже записанных дублей. Оставшихся замечаний нет.
Выдержка лога задачи нового DAG:
[2026-09-22T17:42:17.505+0300] {taskinstance.py:1206} INFO - Marking task as SUCCESS. dag_id=lab_pxf_airports, task_id=check_airports_dq, run_id=lab9-A-stage, execution_date=20260922T144212, start_date=20260922T144216, end_date=20260922T144217
[2026-09-22T17:42:17.586+0300] {local_task_job_runner.py:240} INFO - Task exited with return code 0
Авторские материалы и протокол прогона влиты в solution через PR #15. Полный учебный прогон выполнен до редакционной перестройки текста; после нее отдельно проверены подсказки, сверка восстановленных STG/ODS и восстановление ошибочного батча.
Добавлена первая лабораторная: студент восстанавливает внешнюю таблицу PXF и загрузку снимка airports, испытывает повтор и изменение источника, затем передает данные в ODS. Задание встроено перед существующими работами на снимки ODS. Вопросы сопровождают опыты; команды и помощь по Airflow раскрываются по месту.
Новый готовый DAG `lab_pxf_airports` выполняет восемь задач загрузки/DQ четырех справочников с общим Run ID. Используются существующие SQL; генератор транзакционных дней не участвует в опытах. Независимая сверка читает Postgres напрямую и сравнивает ключи, бизнес-поля и метки STG/ODS.
Проверки:
- `make lint`, `git diff --check`, ссылки, карта и Markdown-рендер Gitea прошли.
- `make test`: 14 passed, 15 skipped (14 smoke-тестов из-за существующих заглушек Airflow, один opt-in интеграционный тест ODS). Настоящий DagBag проверен отдельно.
- На стенде: все 5501 аэропорт, повтор A, изменение имени в B при сохранении A, отказ на старой копии, общий B принят действующим resolver ODS, источник восстановлен и цепочка дошла до DM.
- Независимое ревью: Standards — замечаний нет; Spec — исправлена и воспроизведена ветка восстановления уже записанных дублей. Оставшихся замечаний нет.
Выдержка лога задачи нового DAG:
```text
[2026-09-22T17:42:17.505+0300] {taskinstance.py:1206} INFO - Marking task as SUCCESS. dag_id=lab_pxf_airports, task_id=check_airports_dq, run_id=lab9-A-stage, execution_date=20260922T144212, start_date=20260922T144216, end_date=20260922T144217
[2026-09-22T17:42:17.586+0300] {local_task_job_runner.py:240} INFO - Task exited with return code 0
```
Авторские материалы и [протокол прогона](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/solution/docs/reports/2026-09-22-pxf-airports.md) влиты в solution через [PR #15](https://git.dementev.space/ddmitry/airflow-greenplum/pulls/15). Полный учебный прогон выполнен до редакционной перестройки текста; после нее отдельно проверены подсказки, сверка восстановленных STG/ODS и восстановление ошибочного батча.
Closes #9
Part of #8
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.
Добавлена первая лабораторная: студент восстанавливает внешнюю таблицу PXF и загрузку снимка airports, испытывает повтор и изменение источника, затем передает данные в ODS. Задание встроено перед существующими работами на снимки ODS. Вопросы сопровождают опыты; команды и помощь по Airflow раскрываются по месту.
Новый готовый DAG
lab_pxf_airportsвыполняет восемь задач загрузки/DQ четырех справочников с общим Run ID. Используются существующие SQL; генератор транзакционных дней не участвует в опытах. Независимая сверка читает Postgres напрямую и сравнивает ключи, бизнес-поля и метки STG/ODS.Проверки:
make lint,git diff --check, ссылки, карта и Markdown-рендер Gitea прошли.make test: 14 passed, 15 skipped (14 smoke-тестов из-за существующих заглушек Airflow, один opt-in интеграционный тест ODS). Настоящий DagBag проверен отдельно.Выдержка лога задачи нового DAG:
Авторские материалы и протокол прогона влиты в solution через PR #15. Полный учебный прогон выполнен до редакционной перестройки текста; после нее отдельно проверены подсказки, сверка восстановленных STG/ODS и восстановление ошибочного батча.
Closes #9
Part of #8