OpenLineage
你的调度器本来就知道,让它说出来
摄入 run 事件,映射 namespace,签发 API key;浏览 job、dataset 和 event,并提供跳回 Airflow 的链接。
注册中心知道你的 schema 怎么说,你的调度器知道实际跑了什么。摄入把两者接起来,让一次运行与它触碰过的对象出现在同一处。
-
1. 把生产者指向接入端点
设置 → OpenLineage 会显示摄入端点、一段可直接用的 curl 示例,以及用于认证的 API key 列表。
-
2. 映射 namespace
生产者上报的 namespace 会与你的某个实例匹配——按主机和端口自动匹配,或按你显式记录的映射。
-
3. 读这次运行
Job、Dataset 与 Event 视图保留了原始 JSON 与 facets,任何一个结论都能追溯回产生它的事件。
为什么 facet 不被信任
生产者的 column facet 不被信任。Airflow 的 SQL operator 会给每个 task 附上一个 column facet——那是运行级猜测,不是语句的答案:它把每条语句合并成一个输入集合,再靠在其中任意位置找一个同名列来归属输出列。这样得到的答案看起来像结论,却可能是错的。因此,当事件自带 SQL 时,平台会把这段 SQL 交给与视图定义、手动 SQL 相同的、以语句为范围的分析器;只声明列血缘而不带 SQL 的生产者,仍然沿用它自己的 facet;无法分析的运行保留表级边并报告缺口。
已知限制
- 当事件自带 SQL 时,生产者的 column facet 不被信任,平台会重新分析这条语句。
- 无法分析的运行只保留表级边并报告缺口,而不是猜。