Кандидат на завершающую работу расширенного обязательного цикла. Перед реализацией выбрать небольшой законченный участок и исходный опыт работы учащегося с Airflow.
Студент самостоятельно связывает уже проверенные загрузки и DQ в DAG, находит причину падения и завершает обработку с корректными данными. Он различает сбой одной транзакции и частично выполненную цепочку задач.
Место и самостоятельная часть
Учащийся уже реализовал выбранные SQL-загрузки и проверки. SQL служит входом, самостоятельная часть — задачи Airflow, Connections, параметры SQL и зависимости. В предыдущей серии #1 указан опыт упражнений на отдельном стенде Airflow; предусловия этой работы нужно назвать явно и дать короткие ссылки для необходимых действий UI.
Что предусмотреть
Выбрать цепочку с несколькими задачами загрузки и DQ, которую можно пройти за одну работу. Указать, какие входные данные и SQL уже готовы; использовать принятые в репозитории SQL-операторы и Connections.
Студент задает задачи и зависимости, обеспечивает выполнение проверки до зависимого потребителя, находит используемые параметры и журналы запуска.
Провести успешный запуск на фиксированном входе и сохранить контрольный бизнес-результат.
Автор готовит два воспроизводимых инцидента: сбой SQL-задачи после успешной предыдущей задачи и отказ DQ после зафиксированной загрузки. Хотя бы один инцидент выдается как подготовленное состояние и наблюдаемый симптом: студент получает критерий восстановления, а причину и способ исправления находит сам. Для самостоятельного прохождения дать доступный в main способ получить подготовленное состояние; описание внесенной поломки и разбор решения хранить в авторских материалах solution.
Для каждого инцидента студент по логам, статусам задач и содержимому таблиц определяет, что завершилось, что откатилось и какие потребители остановлены. Затем объясняет причину, выбирает исправление и объем повторного выполнения, проверяет бизнес-результат. Падение отдельной DQ-задачи не откатывает предшествующую загрузку.
Генератором управлять отдельно от повторов; новый учебный день не должен незаметно менять вход для проверки восстановления.
Критерии этой лабораторной
Самостоятельная часть включает создание задач и зависимостей; готовые SQL не приходится одновременно переписывать.
После штатного запуска данные совпадают с контрольным результатом.
Оба инцидента воспроизводимы. Хотя бы в одном ученическая инструкция содержит симптом и критерий восстановления, а причина и исправление раскрываются в авторском разборе.
Студент обосновывает причину и объем повторного выполнения наблюдениями из логов, статусов задач и данных.
После исправления и повторного выполнения результат совпадает с контрольным без дублей и пропусков; назван способ продолжения следующего запуска.
В постановке определены масштаб цепочки, ожидаемые навыки Airflow и место в программе.
Границы и результат работы автора
Подготовить задание для студента, необходимые заготовки/проверки и проверенный способ выполнения. Назвать входное состояние, самостоятельную часть, проверочные случаи и состояние для продолжения. Готовый стенд должен запускаться до лабораторной; выбранную часть разбирает уже студент во время задания. Стенд можно ломать и пересобирать, сохраняя файлы решения и понятный способ продолжения.
Материалы для автора и полное решение относятся к solution; инструкция для студента и необходимые общие средства — к main. Переносить изменения выборочно с учетом различий веток. При размещении задания обновить его место во входе в задания и связанные ссылки; существующие задания ODS, измерений и DM сохраняются.
Общая проверка готовности
Из описанного начального состояния выполнены все случаи задания на стенде; сохранены команды и наблюдаемые результаты.
Неверное решение обнаруживается предусмотренными проверками; восстановление и повторный запуск проверены там, где они входят в задание.
Инструкция на русском соответствует подготовке учащегося, различает готовые части и самостоятельные решения; результат позволяет продолжить маршрут.
Проверены ссылки и команды; git diff --check пройден. Для изменений Python/DAG выполнены make lint и make test, а пропуски тестов перечислены отдельно. Статические проверки не заменяют учебный прогон.
Part of #8
## Статус и учебный результат
Кандидат на завершающую работу расширенного обязательного цикла. Перед реализацией выбрать небольшой законченный участок и исходный опыт работы учащегося с Airflow.
Студент самостоятельно связывает уже проверенные загрузки и DQ в DAG, находит причину падения и завершает обработку с корректными данными. Он различает сбой одной транзакции и частично выполненную цепочку задач.
## Место и самостоятельная часть
Учащийся уже реализовал выбранные SQL-загрузки и проверки. SQL служит входом, самостоятельная часть — задачи Airflow, Connections, параметры SQL и зависимости. В предыдущей серии #1 указан опыт упражнений на отдельном стенде Airflow; предусловия этой работы нужно назвать явно и дать короткие ссылки для необходимых действий UI.
## Что предусмотреть
1. Выбрать цепочку с несколькими задачами загрузки и DQ, которую можно пройти за одну работу. Указать, какие входные данные и SQL уже готовы; использовать принятые в репозитории SQL-операторы и Connections.
2. Студент задает задачи и зависимости, обеспечивает выполнение проверки до зависимого потребителя, находит используемые параметры и журналы запуска.
3. Провести успешный запуск на фиксированном входе и сохранить контрольный бизнес-результат.
4. Автор готовит два воспроизводимых инцидента: сбой SQL-задачи после успешной предыдущей задачи и отказ DQ после зафиксированной загрузки. Хотя бы один инцидент выдается как подготовленное состояние и наблюдаемый симптом: студент получает критерий восстановления, а причину и способ исправления находит сам. Для самостоятельного прохождения дать доступный в `main` способ получить подготовленное состояние; описание внесенной поломки и разбор решения хранить в авторских материалах `solution`.
5. Для каждого инцидента студент по логам, статусам задач и содержимому таблиц определяет, что завершилось, что откатилось и какие потребители остановлены. Затем объясняет причину, выбирает исправление и объем повторного выполнения, проверяет бизнес-результат. Падение отдельной DQ-задачи не откатывает предшествующую загрузку.
6. Генератором управлять отдельно от повторов; новый учебный день не должен незаметно менять вход для проверки восстановления.
## Критерии этой лабораторной
- [ ] Самостоятельная часть включает создание задач и зависимостей; готовые SQL не приходится одновременно переписывать.
- [ ] После штатного запуска данные совпадают с контрольным результатом.
- [ ] Оба инцидента воспроизводимы. Хотя бы в одном ученическая инструкция содержит симптом и критерий восстановления, а причина и исправление раскрываются в авторском разборе.
- [ ] Студент обосновывает причину и объем повторного выполнения наблюдениями из логов, статусов задач и данных.
- [ ] После исправления и повторного выполнения результат совпадает с контрольным без дублей и пропусков; назван способ продолжения следующего запуска.
- [ ] В постановке определены масштаб цепочки, ожидаемые навыки Airflow и место в программе.
## Границы и результат работы автора
Подготовить задание для студента, необходимые заготовки/проверки и проверенный способ выполнения. Назвать входное состояние, самостоятельную часть, проверочные случаи и состояние для продолжения. Готовый стенд должен запускаться до лабораторной; выбранную часть разбирает уже студент во время задания. Стенд можно ломать и пересобирать, сохраняя файлы решения и понятный способ продолжения.
Материалы для автора и полное решение относятся к `solution`; инструкция для студента и необходимые общие средства — к `main`. Переносить изменения выборочно с учетом различий веток. При размещении задания обновить его место во входе в задания и связанные ссылки; существующие задания ODS, измерений и DM сохраняются.
## Общая проверка готовности
- [ ] Из описанного начального состояния выполнены все случаи задания на стенде; сохранены команды и наблюдаемые результаты.
- [ ] Неверное решение обнаруживается предусмотренными проверками; восстановление и повторный запуск проверены там, где они входят в задание.
- [ ] Инструкция на русском соответствует подготовке учащегося, различает готовые части и самостоятельные решения; результат позволяет продолжить маршрут.
- [ ] Проверены ссылки и команды; `git diff --check` пройден. Для изменений Python/DAG выполнены `make lint` и `make test`, а пропуски тестов перечислены отдельно. Статические проверки не заменяют учебный прогон.
## Сначала прочитать
- Задачу серии #8 и [авторскую заметку](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/solution/docs/design/labs_development.md).
- [STG-DAG](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/airflow/dags/bookings_to_gp_stage.py)
- [ODS-DAG](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/airflow/dags/bookings_to_gp_ods.py)
- [DDS-DAG](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/airflow/dags/bookings_to_gp_dds.py)
- [Порядок запусков](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/docs/dag_execution_order.md)
- [Connections](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/docs/stack.md)
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.
Part of #8
Статус и учебный результат
Кандидат на завершающую работу расширенного обязательного цикла. Перед реализацией выбрать небольшой законченный участок и исходный опыт работы учащегося с Airflow.
Студент самостоятельно связывает уже проверенные загрузки и DQ в DAG, находит причину падения и завершает обработку с корректными данными. Он различает сбой одной транзакции и частично выполненную цепочку задач.
Место и самостоятельная часть
Учащийся уже реализовал выбранные SQL-загрузки и проверки. SQL служит входом, самостоятельная часть — задачи Airflow, Connections, параметры SQL и зависимости. В предыдущей серии #1 указан опыт упражнений на отдельном стенде Airflow; предусловия этой работы нужно назвать явно и дать короткие ссылки для необходимых действий UI.
Что предусмотреть
mainспособ получить подготовленное состояние; описание внесенной поломки и разбор решения хранить в авторских материалахsolution.Критерии этой лабораторной
Границы и результат работы автора
Подготовить задание для студента, необходимые заготовки/проверки и проверенный способ выполнения. Назвать входное состояние, самостоятельную часть, проверочные случаи и состояние для продолжения. Готовый стенд должен запускаться до лабораторной; выбранную часть разбирает уже студент во время задания. Стенд можно ломать и пересобирать, сохраняя файлы решения и понятный способ продолжения.
Материалы для автора и полное решение относятся к
solution; инструкция для студента и необходимые общие средства — кmain. Переносить изменения выборочно с учетом различий веток. При размещении задания обновить его место во входе в задания и связанные ссылки; существующие задания ODS, измерений и DM сохраняются.Общая проверка готовности
git diff --checkпройден. Для изменений Python/DAG выполненыmake lintиmake test, а пропуски тестов перечислены отдельно. Статические проверки не заменяют учебный прогон.Сначала прочитать