4.2.2.1 Airflow, Dbt, Spark 当 Airflow 的 DAG 跑到一半突然“失忆”:Dbt 模型依赖未触发、Spark 任务静默失败——我们如何用一个 + + 自定义 的三重锚点,把数据血缘从“混沌态”拉回“可观测态” 凌晨两点十七分,告警钉钉弹出第三条消息:“ DAG 连续 3 次 failed,last task: ”。运维同事截图发来日志末尾一行: 返回码是 0? 可 Dbt 日志里明明写着: ——这根本不是成功。这是伪成功(False Success)。 Airflow 认为它跑完了;Dbt 实际上在 SQL 层抛了致命异常;而 Spark 任务甚至还没启动,就被上游这个“看似成功”的 Dbt 任务悄悄拦腰截断。