使用DataWorks数据地图查看表或数据服务API时,可在对应的详情页面查看详细的血缘信息,这对于数据溯源及管理有很大帮助,本文为您介绍数据地图的血缘查看能力。
表血缘
查看入口
查找某张表并进入表详情页面后,您可以单击血缘信息页签,查看表级和字段级的血缘详情。同时,您也可以进行影响分析,获取当前表的下游表列表,支持下载下游表列表为本地文件或通过邮件进行变更通知。
数据地图支持展示基于调度作业、数据流转信息解析得出的表和表、字段和字段之间的血缘关系;暂不包含临时查询等手动操作产生的血缘关系。离线数据T+1更新其血缘关系。
各数据源使用限制
E-MapReduce
DataLake或自定义集群若要在DataWorks管理元数据,需先在集群侧配置EMR-HOOK。若未配置,则在DataWorks中无法展示血缘关系。配置EMR-HOOK,详情请参见配置Hive的EMR-HOOK。
EMR on ACK类型的Spark集群及EMR Serverless Spark集群不支持查看血缘关系。
EMR Presto节点的任务不支持查看血缘关系。
AnalyticDB for MySQL
对于AnalyticDB for MySQL类型的表,部分SQL处理命令不支持在数据地图中生成血缘关系信息,限制详情如下。
不支持展示血缘的SQL命令:
不支持的SQL
示例
不支持
join
、union
,或使用了*
等关键字。例如,以下SQL中使用了
*
,数据地图无法展示血缘关系。insert into test select * from test1, test2 where test1.id = test2.id
不支持子查询。
例如,以下SQL中包含子查询,数据地图无法展示血缘关系。
SELECT column1, column2 FROM table1 WHERE column3 IN (SELECT column4 FROM table2 WHERE column5 = 'value')
可正常展示血缘的SQL命令示例:
示例1:创建名为A的表(不包含具体列信息),同时从B表中选择某些具体列(不包含*)作为A表的内容。例如:
create table test as select id,name from test1;
示例2:将表A中满足条件column1= value1的表A中某些具体列(不包含*)数据插入到B表(不包含具体列信息)中。例如:
insert into test select id,name from test1 where name='test';
示例3:将A表的某些列(不包含*)数据覆盖写入到某个数据库中的B表中。例如:
INSERT OVERWRITE INTO db_name.test SELECT id,name from test1;
CDH
如果需要在数据地图中展示CDH Spark SQL及CDH Spark节点数据加工过程的表血缘关系,请按照数据加工的模块,在
的Spark参数处单独配置。进入管理中心页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入管理中心。
在左侧导航栏单击集群管理,然后找到已创建的目标CDH集群。
单击编辑SPARK参数。
根据具体数据加工模块添加Spark参数。
例如要在数据地图中展示CDH Spark SQL及CDH Spark节点在运维中心-周期实例模块中数据加工过程的表血缘关系,则需要在对应模块中,添加如下参数:
Spark属性名称:
spark.sql.queryExecutionListeners
Spark属性值:
com.aliyun.dataworks.meta.lineage.LineageListener
单击完成编辑。
各数据源血缘展示情况说明
数据源 | 数据集成 | 数据开发 | ||
表级血缘 | 字段级血缘 | 表级血缘 | 字段级血缘 | |
MaxCompute 详情页 详情页-血缘信息 | 离线同步 实时同步(MySQL/Kafka/PolarDB MySQL/LogHub同步至MaxCompute) | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
Hologres 详情页 详情页-血缘信息 | 离线同步 实时同步(MySQL/Kafka/LogHub同步至Hologres) | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
E-MapReduce 详情页 详情页-血缘信息 | 离线同步 (OSS、Hive) 实时同步 | 离线同步 (OSS、Hive) 实时同步 | Hive、Spark(spark-submit)、Spark SQL(支持Hudi格式)、Shell(使用beeline提交的Hive SQL) insert into /insert overwrite table create as select from table create external table | Hive、Spark(spark-submit)、Spark SQL(支持Hudi格式)、Shell(使用beeline提交的Hive SQL) insert into /insert overwrite table create as select from table create external table |
AnalyticDB MySQL 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
AnalyticDB PostgreSQL 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
StarRocks 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
ClickHouse 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
CDH/CDP 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | Hive、Impala、Spark、Spark SQL insert into /insert overwrite table create as select from table create external table | Hive、Impala、Spark、Spark SQL insert into /insert overwrite table create as select from table create external table |
MySQL 详情页 详情页-血缘信息 | 离线同步 实时同步 (MySQL同步至MaxCompute/Hologres) | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
PostgreSQL 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
SQL Server 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
Tablestore(OTS) 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
Oracle 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
OceanBase 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
OSS 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
PolarDB MySQL 详情页 详情页-血缘信息 | 离线同步 实时同步(PolarDB MySQL同步至MaxCompute) | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
PolarDB PostgreSQL 详情页 详情页-血缘信息 | 离线同步 实时同步 | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
Kafka 详情页 详情页-血缘信息 | 离线同步 实时同步 (Kafka同步至MaxCompute/Hologres) | 离线同步 实时同步 | insert into /insert overwrite table create as select from table create external table | insert into /insert overwrite table create as select from table create external table |
数据服务API血缘
查找某个数据服务API并进入API详情页面后,您可以单击血缘信息页签,查看API的血缘详情。