用途:比较同一 SQL 模型两个版本的列级血缘,识别数据流变化。
主要能力:对原始 SQL 与修改后 SQL 分别运行血缘分析,计算新增边、移除边和未变边,并以清晰格式报告差异,例如新增数据流、断裂数据流及影响统计。
使用方式:用户以文件路径调用,如 /lineage-diff models/marts/dim_customers.sql 比较当前文件与最后一次 git 提交;也可不带参数比较当前文件中的暂存更改。获取原始 SQL 可读取磁盘上已提交版本、用 bash 执行 git show HEAD:path/to/file.sql,或直接由用户提供 before SQL;修改后 SQL 可读取当前文件或由用户提供 after SQL。随后分别调用 lineage_check 分析两个版本并计算差异。
边匹配规则:当 source_table、source_column、target_table、target_column 四个字段全部匹配时,视为同一条边;transform 字段仅作信息展示,不参与匹配。
适用场景:SQL 模型变更审查、数据流影响分析、识别列级血缘的新增或断裂。
限制:需要可用的 lineage_check、read、bash(用于 git 操作)和 glob 工具;代理为只读分析。其他细节暂未提供。