1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.1.11.1 | - |
4.2.0.1 | 来源端为「SQL」配置项时,支持 Hive 数据源 |
4.2.1.2 | 来源端为「SQL」配置项时,支持 Greenplum 数据源 |
4.2.6.4 | 新增「重置血缘」功能,支持以数据连接为维度刷新血缘 优化:
|
4.2.7.3 |
|
1.2 应用场景
1)根据表找相关任务&上下游表
IT 人员根据分析需求在数据库中对某个表增加了字段,需要快速找到跟这个表相关的任务进行 SQL 语句的调整。
当前接手开发的 IT 人员需要明确知道数据库表之间的上下游关系,但只有原开发人员最清楚这些逻辑,交接成本高。
2)根据任务查看使用到的表
IT 人员会把业务相关的数据放在一个定时任务中管理,使用到的表众多,表与表经常混淆,在编辑任务的时候需要快捷查看到当前任务使用到的表,确保不会重复作业和便于后续管理。
1.3 功能简介
点击「数据管理>库表管理」,选择数据连接的某张表后,可查看数据表、API(数据服务)、定时任务节点、管道任务的血缘关系。如下图所示:
1.4 使用前提
需要 注册「数据血缘」功能点。
2. 血缘分析功能说明
2.1 血缘分析支持范围
选择配置项 | 支持数据源 | 支持功能范围 |
---|---|---|
来源端为「选表」配置项 | 支持所有数据源 |
|
目标端为「目标表」配置项 | 支持所有数据源 |
|
来源端为「SQL」配置项 | 1)4.2.7.3 之前版本,仅支持Mysql、Oracle、SQL server、PostgreSQL、Hive、Greenplum 2)4.2.7.3 及之后版本,新增适配的数据源:db2、sqlite、Hsql、Informix、达梦、KingBase、TiDB、ClickHouse、PolarDB PostgreSQL、Presto、Gaussdb 200、Gbase8a、MaxCompute |
|
不同数据源适配血缘分析功能时的特性说明:
场景 | 说明 | ||
---|---|---|---|
数据来源为 Oracle 数据源 | 4.2.6.4 及之后版本,Oracle 数据源解析支持模糊匹配大小写表名,查询 SQL 语句中:
| ||
数据来源为 PostgreSQL 数据源 | 数据来源为 PostgreSQL 数据库时,select 语句中包含的字段名不能为 type,否则血缘分析功能将无法正常使用 | ||
insert into xxx select * from语法 | 1)4.2.7.3 之前版本,在数据开发-SQL脚本中 insert into xxx select * from语法暂不支持解析来源目标端,现在仅解析为引用关系
2)4.2.7.3 及之后版本:INSERT 语法支持解析来源目标端。 | ||
定时任务中存在禁用节点 | 4.2.6.4 及之后版本,新发布的任务中存在禁用节点,禁用节点的解析内容不展示在血缘视图中,历史内容不做处理 | ||
DB输出(事务) | DB输出(事务)中的前置 SQL 和后置 SQL 暂不解析,包含事务回滚产生的临时表不解析在血缘中 | ||
表名显示 | 表名都为原始名显示,非 SQL 语句中 as 后的转义名 | ||
表分区 | 若表分区,则展示主表,不展示分区表信息 | ||
视图&存储过程 |
|
2.2 血缘更新时机
2.2.1 任务维度更新
对象 | 增、改 | 删除 |
---|---|---|
定时任务 | 定时任务成功发布到生产环境 |
|
管道任务 | 管道任务每次启动时,更新血缘关系 | 任务删除,血缘关系自动删除 |
API | 每次发布成功更新血缘关系 | API下线、删除,血缘关系自动删除 |
2.2.2 数据连接维度更新
应用场景:
用户前期升级时数据连接 A 连接失败,升级后数据连接下的表就无血缘关系。若想更新血缘,需要重新发布任务,但不确定哪些任务用到了这个数据连接下的表。
功能说明:
4.2.6.4 及之后版本,增加「重置血缘」功能。若需要更新血缘,超级管理员支持以数据连接为维度刷新血缘。
注:仅工程内「血缘分析」功能点可用,且登录账号为超级管理员时,才支持使用「重置血缘」功能。
1)点击「重置血缘」按钮,支持多选数据连接,如下图所示:
2)血缘重置中,会遍历使用该数据连接的任务;支持终止血缘重置任务。如下图所示:
3)若重置成功,血缘自动进入刷新状态。
若血缘重置失败,支持查看任务详情。在弹窗中支持血缘重置失败任务、成功任务、未遍历任务。如下图所示:
2.3 旁系血缘按钮说明
查看血缘关系时,用户可根据实际情况,决定是否打开「旁系血缘」按钮:
场景 | 说明 |
---|---|
关闭「旁系血缘」按钮 | 根据该表向上或向下直接追溯,展示与该表相关的对象;如下图所示: |
打开「旁系血缘」按钮 | 将展示整个链路上所有相关的对象: |
3. 示例
3.1 定时任务血缘
1)例如使用数据同步,SQL语句关联两张数据表,并将任务发布至「生产模式」。如下图所示:
2)然后在「数据管理」下找到定时任务中的一个数据表 DEMO_PRODUCT,点击「血缘分析」,然后勾选「旁系血缘」,即可看到定时任务使用的数据表 SQL 语句血缘关系,如下图所示:
同时可以查看数据表的详细信息,如下图所示:
点击数据同步或者其他任务节点,即可查看任务运行记录以及一键到达任务节点,如下图所示:
3.2 管道任务血缘

表 A 为管道任务的来源端,点击表 A 的血缘查看:
1)4.2.7.3 之前版本,管道任务的所有目标表都展示出来。
2)4.2.7.3 及之后版本,只会展示表 A 对应的目标表(仅会展示一一对应的表关系,是否开启「旁系血缘」按钮都为该逻辑)。
使用 DEMO_PRODUCT 创建一个管道任务。如下图所示:
进入数据管理后,找到管道任务中的一个数据表 DEMO_PRODUCT,点击「血缘分析」,即可看到管道任务数据表的血缘,如下图所示:
同时可以查看数据表的详细信息,如下图所示:
点击管道任务,即可查看任务情况以及一键到达任务界面,如下图所示:
3.3 数据服务血缘
使用 NES_SELLS 创建一个数据服务任务并上线,如下图所示:
进入数据管理后,找到数据服务任务中的一个数据表 NES_SELLS,点击「血缘分析」,即可看到数据服务任务数据表的血缘,如下图所示:
点击API任务,即可查看任务运行记录以及一键到达任务界面,如下图所示:
4. 升级兼容
1)如果升级后没有显示血缘可能有如下原因:
升级时任务中使用的数据连接连接失败;
数据库驱动版本过低。
2)用户升级到 4.2.6.4 及之后版本后需注意:
5. 注意事项
5.1 血缘检测失效
问题描述:
定时任务中,数据同步到 MySQL 的表 a 中(任务运行过),「数据中心」中选中表 a ,点击「血缘分析」,内容为空白。
原因分析:
升级时业务数据库出了问题,重新发布该定时任务即可。