feat(dq): добавлен контроль качества конвейера
- Зачем: - конвейеру нужна публикуемая сводка текущего качества с красным завершением при нарушении договоров. - Что: - добавлены DDL, публичное представление и пять сверок на естественном деловом зерне. - даг dq_check встроен после DM и публикует полные дневные партиции до именованных утверждений. - параллелизм DDS, DM и DQ приведён к измеренному лимиту памяти планировщика. - Проверка: - make lint; make config-test; make rebuild-storage. - make smoke; make check-clickhouse; make check-services. - три семейства проверок покрашены искусственными расхождениями и восстановлены повторным полным прогоном.
This commit is contained in:
1 parent
4e60aafc31
commit
26b2e5fea1
17 files changed
+753
-38
No files matched your search
+12
-2
@@ -1,4 +1,4 @@
|
||||
"""Дневной конвейер: сначала DDS, затем DM.
|
||||
"""Дневной конвейер: DDS, DM и проверка качества.
|
||||
|
||||
Своих преобразований у дага нет. Ждущие триггеры связывают состояния:
|
||||
если слой краснеет, конвейер не запускает следующий слой и краснеет сам.
|
||||
@@ -36,8 +36,18 @@ def etl_pipeline():
|
||||
wait_for_completion=True,
|
||||
poke_interval=10,
|
||||
)
|
||||
# Airflow 3.3: оператор провайдера standard с wait_for_completion=True
|
||||
# поднимает AirflowException, если запущенный даг завершился красным.
|
||||
# Поведение и путь импорта повторно сверены через Context7 27 августа
|
||||
# 2026 года.
|
||||
dq = TriggerDagRunOperator(
|
||||
task_id="trigger_dq",
|
||||
trigger_dag_id="dq_check",
|
||||
wait_for_completion=True,
|
||||
poke_interval=10,
|
||||
)
|
||||
|
||||
dds >> dm
|
||||
dds >> dm >> dq
|
||||
|
||||
|
||||
etl_pipeline()
|
||||
Reference in new issue
Block a user