管理血缘空间
血缘空间是 SQLink 组织血缘资源、解析任务、命名空间和版本结果的工作区。它不是单个数据库,也不是元数据目录;一个空间可以承载多个来源,但必须用清晰的目录和命名空间隔离范围。
空间规定“哪些资源和任务放在一起管理”,命名空间规定“解析到的同名对象归属于哪里”。两者用途不同:把文件加入空间后,仍需检查对象名称是否映射到正确命名空间和元数据。
血缘空间的四类资源
| 资源 | 作用 | 典型来源 |
|---|---|---|
| 血缘管理 | 保存 SQL、ETL、Excel 等待解析文件和解析结果 | SQL Script、ETL 文件、自定义关系 |
| 数据库资源 | 保存采集到的数据库对象和元数据模型 | 数据库采集、DDL 文件 |
| 报表资源 | 保存报表、数据集及报表准备 SQL | 报表采集 |
| OpenLineage 任务 | 接收运行事件和作业父子关系 | Kafka/OpenLineage 事件 |
这些资源的任务可以手工创建,也可以由元数据采集任务自动同步。数据库资源和报表资源中的采集对象通常不直接编辑,来源变化应回到采集任务处理。
表中的“血缘管理”是 SQLink 空间内保存和解析血缘文件的资源分区,不是 DAM 元数据模块的“血缘管理” License;二者不能据名称相同而视为同一授权或操作入口。
规划空间和目录
创建空间前确定业务范围、来源系统、环境、责任人和解析引擎。建议按业务域或环境建立空间,再在空间内按来源和用途建立目录;不要把开发、测试和生产脚本混在一个无边界目录。
空间命名应包含业务范围和用途,目录名称应能对应责任团队。需要多人维护时,先按系统管理配置角色、空间权限和任务权限,再开放写操作。
新建血缘任务
- 进入“血缘空间 → 血缘管理”,选择“新建任务”。
- 选择任务目录、解析引擎和导入方式。
- 配置全量或增量导入策略,指定文件目录和元数据限制。
- 绑定命名空间、默认 Schema、DBLink 和必要的预处理。
- 保存任务后先执行小批量测试,确认报告再扩大范围。
全量导入会处理目录下所有文件;增量导入按文件内容、大小、路径和名称比较,仅处理发生变化的文件。“强制绑定元数据”要求解析出的表或字段能够关联到已采集的元数据,而不是只生成未绑定的图节点;启用后任一对象找不到对应元数据都可能导致任务失败,应在正式运行前检查覆盖率。
数据库资源
数据库资源通常由数据库采集或 DDL 采集任务创建。运行后检查数据库、Schema、表和字段数量,确认对象与命名空间一致。采集成功不等于血缘解析成功,必须继续执行对应解析任务并查看报告。
报表资源
报表资源由报表采集任务同步生成,包含报表、数据集和准备 SQL。报表资源的元数据不应直接编辑或删除;如解析失败,检查报表数据连接对应的命名空间和解析引擎,再重新解析。
OpenLineage 任务
OpenLineage 任务接收第三方运行事件,管理 RunEvent 时间、状态、Job 父子关系和字段血缘。先确认消息来源、Job 标识和事件顺序,再检查事件是否生成图关系。事件缺失时,不要用手工关系补写成真实运行链路。
命名空间与 Schema
命名空间把文件中的对象名称映射到实际元数据。解析前应配置数据库类型、默认 Schema、连接和 DBLink 映射;同一个表名在不同系统中重复出现时,必须依赖命名空间区分。
常见错误包括:对象未绑定命名空间、默认 Schema 错误、DBLink 未映射和连接名称与采集名称不一致。错误时先在对象详情中确认命名空间和 Schema,再回到命名空间与预处理修正。
预处理和解析报告
预处理用于在解析前标准化变量、修正脚本格式或提取嵌入 SQL。可用方式取决于部署配置,常见类型包括 JavaScript、正则表达式和 AI 模型。预处理会改变解析输入,正式环境应保留原文件并记录脚本版本。
解析报告至少区分成功、部分成功、语法错误、元数据缺失和其他错误。打开解析详情查看失败代码片段,修正后重新执行;不要只看任务整体“提交成功”。
空间质量检查
每轮任务完成后检查:
- 文件解析成功率和部分成功数量。
- 元数据覆盖率及未绑定对象。
- 上下游链路是否出现断点、环线或孤立节点。
- 解析版本、任务时间和来源文件是否可追溯。
- 业务责任人抽查关键表、字段和报表链路。
覆盖率和图节点数量是质量线索,不是业务链路正确性的单一证明。
版本、编辑与回滚边界
自动解析结果应保留来源文件和任务记录。手工编辑只用于有明确证据的关系补充,不能用来掩盖采集或解析失败。变更前记录对象、方向、原因和责任人;发现错误时优先重新采集或重新解析,再撤销不正确的手工关系。
常见排查
| 现象 | 排查顺序 |
|---|---|
| 任务成功但没有图 | 检查资源是否入空间、命名空间是否绑定、解析报告是否有部分成功 |
| 表节点存在但字段链路为空 | 检查字段采集、脚本字段引用和强制绑定设置 |
| 同名表连错 | 检查命名空间、Schema 和 DBLink 映射 |
| 报表链路缺失 | 检查报表采集、数据连接和准备 SQL 解析引擎 |
| 增量任务重复解析 | 对比文件路径、名称、大小和内容,确认任务模式 |
