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:
2026-06-05 19:13:22 +03:00
parent 4f1e58752c
commit 707da9f80e
10 changed files with 623 additions and 45 deletions
+1 -1
View File
@@ -15,7 +15,7 @@
-- чтобы не накапливать дубликаты при повторных прогонах.
--
-- Витрины DM сейчас — это VIEW (логика без копии данных). Если тяжёлая агрегация
-- начнёт тормозить, её материализуют в таблицу; пример в docs/ARCHITECTURE.md,
-- начнёт тормозить, её материализуют в таблицу пример в docs/ARCHITECTURE.md,
-- раздел «Материализация витрин».
-- ============================================================================