docs(airflow): выровнены формулировки для CSV и DQ сценариев
- Зачем: - убрать мелкие противоречия между спецификациями, учебным планом и заданиями. - сделать сценарий csv_to_postgres и csv_to_postgres_dq понятнее для студентов. - Что: - уточнено, что csv_to_postgres отвечает за загрузку и предпросмотр данных, а DQ вынесен в отдельный DAG. - добавлены явные указания про каталог data/output и соединение postgres_training. - исправлены ссылки на задачу data_quality_summary в учебных заданиях. - Проверка: - git diff -- airflow-docker/dag-specifications.md airflow-docker/educational-setup-plan.md airflow-docker/educational-tasks.md.
This commit is contained in:
@@ -140,6 +140,7 @@
|
||||
- Добавьте в генератор CSV новую колонку `status` (например, со случайными значениями 'NEW', 'PROCESSING', 'COMPLETED').
|
||||
- Обновите функцию `_create_table`, чтобы учесть новую колонку.
|
||||
- Запустите DAG и проверьте, что данные успешно загрузились с новой колонкой.
|
||||
- Убедитесь, что сгенерированный файл появился в каталоге `/opt/airflow/data/output/`.
|
||||
|
||||
**Цель задания:** Понять процесс изменения схемы данных на всех этапах пайплайна.
|
||||
|
||||
@@ -149,7 +150,7 @@
|
||||
|
||||
**Задача:**
|
||||
- Перепишите задачу `create_orders_table`. Сейчас она использует `PythonOperator` и `PostgresHook` внутри Python-функции.
|
||||
- Замените её на использование стандартного `PostgresOperator`, используя заранее созданный Connection.
|
||||
- Замените её на использование стандартного `PostgresOperator`, используя соединение `postgres_training`.
|
||||
- Убедитесь, что пайплайн продолжает работать корректно.
|
||||
|
||||
**Цель задания:** Научиться использовать специализированные операторы для работы с БД вместо кастомного Python-кода.
|
||||
@@ -167,7 +168,7 @@
|
||||
**Задача:**
|
||||
- Добавьте новую функцию проверки прямо в `csv_to_postgres_dq.py`, которая будет убеждаться, что все значения в колонке `amount` строго больше нуля.
|
||||
- Добавьте вызов этой функции как новую задачу в DAG `csv_to_postgres_dq`.
|
||||
- Встройте новую задачу в общую цепочку выполнения (например, перед `dq_summary`).
|
||||
- Встройте новую задачу в общую цепочку выполнения (например, перед `data_quality_summary`).
|
||||
|
||||
**Цель задания:** Научиться расширять набор проверок качества данных.
|
||||
|
||||
@@ -179,7 +180,7 @@
|
||||
- Смоделируйте ошибку (например, временно измените данные так, чтобы проверки не прошли).
|
||||
- По умолчанию, если падает одна проверка, следующие не выполняются (поведение `all_success`).
|
||||
- Измените параметры задач так (с помощью `trigger_rule`), чтобы выполнялись *все* проверки, даже если некоторые из них упали.
|
||||
- Сделайте так, чтобы задача `dq_summary` могла анализировать статусы предыдущих задач и отражать общий итог.
|
||||
- Сделайте так, чтобы задача `data_quality_summary` могла анализировать статусы предыдущих задач и отражать общий итог.
|
||||
|
||||
**Цель задания:** Освоить продвинутую маршрутизацию статусов задач с помощью `trigger_rule`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user