Snowflake数据湖项目:求支持列级血缘及SQL解析的开源Data Lineage工具
适配Snowflake的列级数据血缘解决方案
1. Snowflake原生数据血缘(Snowflake Data Lineage)
- 开箱即用,直接集成Snowflake环境,无需额外部署第三方工具
- 自动解析所有Snowflake SQL操作(包括
SELECT、INSERT、CREATE TABLE AS SELECT等),精准识别列级的**转换(TRANSFORMATION)和聚合(AGGREGATION)**操作,比如SUM(col)、CONCAT(col1, col2)这类表达式会被直接解析并展示血缘关系 - 提供REST API(Snowflake Metadata API)支持,可直接调用获取列级血缘信息,返回结果包含源列、目标列、操作类型及对应的SQL片段
- 支持与Snowflake的其他组件(如Snowflake Governance、Snowflake Data Catalog)联动,统一管理元数据
2. Collibra Data Intelligence Cloud
- 深度集成Snowflake,内置SQL解析引擎,能自动提取列级血缘中的转换逻辑和聚合操作,无需手动定义SQL描述
- 可视化界面可直观展示列从源到目标的完整路径,包括每一步的操作类型和具体表达式
- 提供标准化的REST API,支持批量获取列级血缘数据,适配下游应用的集成需求
- 支持自定义规则扩展血缘解析能力,适配复杂的Snowflake存储过程、UDF等场景
3. Alation Data Catalog
- 针对Snowflake做了专门优化,内置的SQL解析器能精准识别
GROUP BY、JOIN、函数转换等操作对应的列级血缘 - 自动提取SQL中的转换表达式(如
DATE_TRUNC('month', created_at))和聚合函数(如AVG(amount)),并在血缘图谱中展示 - 提供API接口,可通过调用获取结构化的列级血缘数据,包含源表/列、目标表/列、操作类型、SQL片段等信息
- 支持与Snowflake的查询历史联动,自动回溯所有执行过的SQL生成血缘
4. dbt + OpenLineage增强方案
- 若你倾向于沿用OpenLineage,可结合dbt的Snowflake适配器实现能力增强:
- dbt会自动解析模型中的SQL代码,提取列级转换和聚合逻辑
- 通过dbt的OpenLineage集成插件,将解析后的操作细节(包括具体SQL表达式)同步到OpenLineage中,无需手动维护描述
- OpenLineage的API可直接返回包含操作细节的列级血缘数据,满足下游应用需求
- 适配dbt在Snowflake上的所有建模场景,包括增量模型、快照模型等
内容的提问来源于stack exchange,提问作者Arjun A J




