在分布式环境下调试数据问题,需要将一个数值追溯回其源头。如果没有清晰的依赖关系图,根本原因分析实际上只能依靠手动检查代码库和日志。数据血缘通过捕获数据集、数据管道和仪表板之间的关系来提供这张图。它将元数据从被动参考转变为可靠性体系中的一个活跃组成部分。本节分析血缘追踪的技术实现。我们首先区分静态分析(它通过解析SQL或Python代码来找出引用关系)和动态分析(它根据运行时执行来捕获血缘)。接着我们查看OpenLineage标准,以了解如何在体系中不同工具之间格式化和传输元数据。您也将学习如何用数学方法建模依赖关系。通过将数据平台视为图 $G = (V, E)$,其中 $V$ 代表数据资产,$E$ 代表转换任务,我们能够通过算法确定故障的范围。我们将这一理念运用到影响分析中,使得工程师能够预测如果上游模式发生变化,哪些下游报告会失效。本章以一个实践练习作结,该练习涉及从应用日志中提取血缘边,以重建数据管道视图。