Для лабораторной #9 зафиксированы граница самостоятельной работы, эталон и проверенный переход от приема справочника к существующим заданиям ODS. Авторская заметка отражает включение лабораторной в программу; полный протокол хранит команды и наблюдения на учебной main.
В solution выборочно добавлены общие средства: DAG lab_pxf_airports, независимая сверка и тесты. DAG выполняет восемь готовых задач загрузки/DQ четырех справочников с одним Run ID и использует существующие SQL. Полный эталон solution сохранен.
Проверено на Airflow 2.9.2, Greenplum 6.27.1 и Postgres 16: 5501 аэропорт, повтор того же батча, переименование в источнике, отказ на старой копии, выбор нового общего батча ODS, восстановление и проход до DM. При свежем ревью найдена и исправлена подсказка по очистке ошибочного батча; восстановление после дублей отдельно воспроизведено.
make lint и make test: 14 passed, 15 skipped. Пропуски: 14 smoke-тестов из-за заглушек Airflow в conftest и один opt-in интеграционный тест ODS. Настоящий DagBag и учебный маршрут проверены отдельно. Команды, ограничения и логи — в протоколе.
Refs #9, #8. Учебная инструкция влита в main через PR #16.
Для лабораторной #9 зафиксированы граница самостоятельной работы, эталон и проверенный переход от приема справочника к существующим заданиям ODS. Авторская заметка отражает включение лабораторной в программу; полный протокол хранит команды и наблюдения на учебной main.
В solution выборочно добавлены общие средства: DAG `lab_pxf_airports`, независимая сверка и тесты. DAG выполняет восемь готовых задач загрузки/DQ четырех справочников с одним Run ID и использует существующие SQL. Полный эталон solution сохранен.
Проверено на Airflow 2.9.2, Greenplum 6.27.1 и Postgres 16: 5501 аэропорт, повтор того же батча, переименование в источнике, отказ на старой копии, выбор нового общего батча ODS, восстановление и проход до DM. При свежем ревью найдена и исправлена подсказка по очистке ошибочного батча; восстановление после дублей отдельно воспроизведено.
`make lint` и `make test`: 14 passed, 15 skipped. Пропуски: 14 smoke-тестов из-за заглушек Airflow в conftest и один opt-in интеграционный тест ODS. Настоящий DagBag и учебный маршрут проверены отдельно. Команды, ограничения и логи — в [протоколе](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/solution/docs/reports/2026-09-22-pxf-airports.md).
Refs #9, #8. Учебная инструкция влита в main через [PR #16](https://git.dementev.space/ddmitry/airflow-greenplum/pulls/16).
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.
Для лабораторной #9 зафиксированы граница самостоятельной работы, эталон и проверенный переход от приема справочника к существующим заданиям ODS. Авторская заметка отражает включение лабораторной в программу; полный протокол хранит команды и наблюдения на учебной main.
В solution выборочно добавлены общие средства: DAG
lab_pxf_airports, независимая сверка и тесты. DAG выполняет восемь готовых задач загрузки/DQ четырех справочников с одним Run ID и использует существующие SQL. Полный эталон solution сохранен.Проверено на Airflow 2.9.2, Greenplum 6.27.1 и Postgres 16: 5501 аэропорт, повтор того же батча, переименование в источнике, отказ на старой копии, выбор нового общего батча ODS, восстановление и проход до DM. При свежем ревью найдена и исправлена подсказка по очистке ошибочного батча; восстановление после дублей отдельно воспроизведено.
make lintиmake test: 14 passed, 15 skipped. Пропуски: 14 smoke-тестов из-за заглушек Airflow в conftest и один opt-in интеграционный тест ODS. Настоящий DagBag и учебный маршрут проверены отдельно. Команды, ограничения и логи — в протоколе.Refs #9, #8. Учебная инструкция влита в main через PR #16.