查看血缘关系

Flink作业的血缘关系可以进行作业的数据溯源和追踪、帮助您更好地管理和优化作业的数据流、快速定位问题和评估影响面。本文为您介绍如何通过作业角度和元数据角度查看血缘关系。

背景信息

在数据的来源和变更历史无法追踪的情况下,数据的质量和安全难以保障,且数据的分析和故障排查效率很低。此时,您可以使用数据血缘功能。数据血缘关系描述了数据在来源、处理、传输和消费过程中形成的关系,包括元数据之间的流向、依赖关系以及元数据与流批作业的生产消费关系。在Flink中,我们提供了N层作业的表级别和字段级别的数据血缘关系的查看和分析能力,具体的优势详情如下表所示。

优势

详情

提升数据确认效率

通过溯源数据,可以全面了解数据的各个方面,包括作业涉及的产品、数据库和表情况,表字段的属性和关联关系,数据的来源、经过的处理步骤、传输路径以及最终的消费者。这样可以帮助您更好地理解数据的流向和依赖关系,从而验证数据的可信度和准确性,更好地管理和分析数据,并提高工作效率。

提升故障排查效率

当数据在处理过程中出现问题时,通过血缘关系,您可以追踪到问题的根源,快速定位和解决故障,避免业务损失和高昂的人力成本。

提升数据分析效率

当数据资产变更或者出错的情况下快速定位所影响的线上作业,及时进行处理,避免错误决策。

优化数据资产成本

通过分析血缘关系,您可以了解数据的流转路径和依赖关系,从而优化数据处理流程,及时下线长期没有调用的服务,提高数据处理的效率和质量且节省数据成本。

数据血缘模型

完整的血缘系统的数据模型如下图所示。

image

图中包含节点(实体)和边(关系),实体和关系的组合显示为数据血缘。

类别

详情

节点

每个Catalog、数据表、字段都可以认为是一个数据实体。实体在血缘图展示中抽象成为节点,血缘关系的节点包含以下两类:

  • 数据节点:对于存储数据的介质的抽象,包括元数据(Catalog、DB、表、字段)。

  • 作业节点:对于部署的抽象,一个Flink SQL作业。

关系

生产实体的上游,以及使用它的下游,都是对应的实体之间的关系。您可以看到以下血缘关系:

  • 表之间的依赖关系。

  • 表、字段之间的从属关系。

  • 生产消费关系:从作业节点指向数据节点的边,作业生产了该数据节点的数据;从数据节点指向作业节点的边,作业消费了该数据节点的数据。

使用限制

  • 仅支持查看项目空间内作业和元数据间的血缘关系,不支持跨项目空间查看血缘关系。

  • 元数据角度查看血缘需要使用Catalog,作业角度查看血缘不依赖Catalog。

  • 仅支持查看和搜索SQL作业的血缘关系。

  • 仅已部署并启动一次的SQL作业支持查看血缘关系,作业停止后会维持最后一次血缘关系。

  • 目前仅支持QueryOperation、SinkModifyOperation和CreateTableAsTableOperation三种类型操作,对于CDAS语法以及过滤条件、Join条件等间接血缘,数据血缘信息无法被追踪和显示。

从作业角度查看血缘信息

作业运维页面,您可以查看作业节点和数据节点具体的信息,以及目标作业中表之间的依赖关系,表和字段之间的从属关系。

说明

默认会以该作业为中心节点,展示三层血缘关系,即上游表、中心作业和下游表。如果您需要再往前或往后追溯血缘情况,可以依次单击上游左侧或下游右侧的加号。

  1. 登录实时计算控制台

  2. 单击目标工作空间操作列下的控制台

  3. 运维中心 > 作业运维页面,单击目标作业名称。

  4. 血缘关系页签,单击表级别字段级别,分别查看表级别或字段级别的血缘关系。

    • 表级别

      可以查看节点类型、连接器、Catalog名称、数据库名称、目标表和源表名称,以及作业ID,作业创建时间、创建者、最近修改时间、最近修改人等信息。

      image.png

    • 字段级别

      可以查看表字段、字段类型、表的数据库名称、Catalog名称和连接器,以及作业有关信息。

      image.png

从元数据角度查看血缘信息

说明

如果Catalog下某个表关联的作业比较多,血缘关系图不好查看,您可以通过缩放等功能查看血缘关系图。也可以打开居中选中节点开关,开启后再单击到目标作业或表,节点会进行自动居中。

  1. 登录实时计算控制台

  2. 单击目标工作空间操作列下的控制台

  3. 元数据管理页面,左键双击Catalog下目标数据库的表名称。

  4. 血缘关系页签,单击表级别字段级别,分别查看表级别或者字段级别的血缘关系。

    • 表级别

      可以查看目标Catalog的某个表都被哪些作业引用,当该表结构或者数据发生变更时,您可以快速的对被引用的作业进行处理(修改作业代码或停止作业)。

      双击目标作业节点,您可以看到该作业ID、创建和修改信息。如果您需要快速跳转到该作业的运维页面,单击下图位置的作业名称即可。

      image.png

    • 字段级别

      可以单击目标字段,根据淡蓝色的实线指引,确定该字段被哪些作业中的哪个表引用,对应的字段是哪个。当目标字段被删除、名称或者属性发生变化时,您可以快速找到被引用的作业及表和字段,对关联的表字段进行相应的处理。

      image.png

通过节点或字段名称搜索查看血缘信息

当血缘关系图很复杂时,您可以通过节点名称或字段名称进行模糊搜索,快速定位目标并查看信息。

  1. 在作业运维或元数据管理的血缘关系页面,在文本框中输入目标节点名称或字段名称(仅在字段级别血缘下支持)后,按回车键进行搜索。

    image

    中心节点会由当前作业移动至搜索目标,并高亮显示。

  2. 双击目标节点或字段名称,查看血缘信息。