feat(airflow): добавлен гейт целостности DDS для урока 4
- Зачем:
- урок 4 должен показывать не только измерение сирот в DDS, но и остановку Airflow DAG при нарушении связи dds.event -> dds.click.
- Что:
- добавлен assert_dds_integrity в etl_pipeline и документация управляемого красного сценария.
- вынесены общие helper'ы для SQL-split и boolean-параметров Airflow.
- добавлен урок 4 и обновлены навигация курса, план обучения и operations notes.
- Проверка:
- python3 -m py_compile airflow/dags/etl_pipeline_dag.py airflow/dags/ddl_init_dag.py airflow/dags/kafka_load_dag.py airflow/dags/utils/airflow_params.py airflow/dags/utils/sql_helpers.py.
- docker compose exec -T airflow-webserver airflow dags test etl_pipeline 2026-06-05T18:00:00 -c '{"full_refresh": true}'.
This commit is contained in:
@@ -113,15 +113,15 @@ Kafka из роадмапа — оно даёт словарь терминов.
|
||||
- Сами витрины DM показываем в деле в уроках 5–6, отдельного разбора не делаем.
|
||||
|
||||
**Урок 4 — Airflow DAG (`airflow/dags/etl_pipeline_dag.py`):**
|
||||
- [ ] **Главная правка (код↔доки):** сделать `check_dds_integrity` честным гейтом —
|
||||
- [x] **Главная правка (код↔доки):** сделать `check_dds_integrity` честным гейтом —
|
||||
добавить `assert_dds_integrity` (PythonOperator), роняющий DAG при
|
||||
`orphan_events > 0`. Сейчас «проверка» только считает сирот в xcom и пишет их в
|
||||
`dq_summary`, но DAG остаётся зелёным, хотя `LESSON_STANDARD` §3 и `PRD` §2 (цель 3)
|
||||
обещают остановку при нарушении целостности. После правки доки и код сходятся.
|
||||
- [ ] **Управляемая правка урока 4** строится на этом гейте: менти намеренно ломает
|
||||
- [x] **Управляемая правка урока 4** строится на этом гейте: менти намеренно ломает
|
||||
целостность (вставляет «осиротевшее» событие) и видит, как DAG краснеет на
|
||||
`assert_dds_integrity`. Опирается на понятие сирот из урока 3.
|
||||
- [ ] Добавить ASCII-поток задач в docstring DAG
|
||||
- [x] Добавить ASCII-поток задач в docstring DAG
|
||||
(`precheck → transform: wait → ods → dq → branch → dds → integrity → dm → validate`)
|
||||
— для теста одного прохода.
|
||||
- Замечание: `check_ods_quality` тоже measure-only (метрики в xcom, без гейта) — это
|
||||
|
||||
Reference in New Issue
Block a user