质量监控作为监控任务的管理页面,支持监控任务的新建、批量导入、批量导出、移交负责人、复制、删除、试跑等操作,支持根据资源目录对任务进行分类查看。

质量监控使用流程


数据质量中心结合离线开发平台,使用流程如下图所示:
02 质量流程01.png

在离线开发过程中如果需要进行表或字段的质量监控,需要事先在数据质量中心 - 质量监控页面新建监控任务,监控任务创建完成并通过试跑确认无误后可将其绑定至离线开发任务,从而实现对表或字段的质量监控。

新建监控任务


当前对监控任务的新建操作无功能权限限制,所有用户都可在质量监控页面进行监控任务的创建。点击新建监控进入监控任务创建页面。

步骤一:设置监控基础信息

监控对象和异常数据存储
选择需要监控的库表,若表为分区表,也可以选择具体的分区进行监控,监控名称默认由dqc_开头,拼接库和表的名称,允许修改。
质量监控 - 图2
监控对象选择hive时,数据源可选其它有公开给本项目库表的项目-集群,一个项目-集群视为一个hive数据源。公开操作位于安全中心数据授权。

异常数据存储配置支持储存异常数据样本开关(可选择是否运行质量监控任务时同步存储异常数据)、结果储存位置配置,通过该功能可将异常数据存储到指定的库表中,异常结果表的每个分区都存放一次任务执行的异常数据。
质量监控任务支持配置开关,hive表质量监控负责人需对监控表有读或写权限才可配置质量监控任务 支持配置任务所属资源目录,达到对任务进行分类的效果。

说明:
对于MySQL这类不自带分区的数据源类型,提供自定义分区设置。支持自行选择需要配置分区的字段,并选择时间参数。此处选择的字段仍可继续配置稽核规则,若配置规则自定义SQL时和此处配置冲突,则该规则失败,字段支持多选。

库名、表名、异常数据结果存储位置,可选直接选择/参数组替换。选择参数组替换,则下拉展示引用参数组里的参数,若有相同参数则应用优先级最高的。同一质量监控任务内多个参数组内有相同参数项时,系统取排在前面的参数组的参数值。数据质量监控任务仅可选择和使用公开给当前项目的参数组。

资源目录
可选择在配置管理-资源目录配置 中启用的资源目录,用于对任务的分类。
质量监控 - 图3
整改配置 开关开启时,此任务线上调度规则异常时,自动提报成问题,可在问题管理模块进一步处理。
质量监控 - 图4

步骤二:设置监控规则

点击下一步进入规则设置页面,在该页面中可设置表或字段的规则详情。当前监控规则支持模板规则自定义规则标准推荐规则
质量监控 - 图5

模板规则
新建规则中选择模板规则可进行规则配置。如果选择了字段级,可选择需要监控的字段名和已经配置好的规则模板、填写期望范围、设置期望规则命中行数或者规则命中行数比率(两个指标中至少配置1项)。
质量监控 - 图6

  • 规则类型:支持字段级表级
  • 规则编码:用户内部可对规则制定自己的标识,选填。
  • 字段名:当规则类型为字段级时,此处选择需要设置规则的字段名称。
  • 规则模板:支持选择在规则模板页面中已经存在的模板。根据不同的规则类型进行展示。
  • SQL预览:显示所选模板的规则代码,支持按逆向方式执行规则
    • 默认:采样结果=根据规则代码计算的行数。
    • 逆向:采样结果=总行数-根据规则代码计算的行数。
  • 异常数据包含字段:此处展示异常数据表中展示的字段,可选择监控表的全部字段,也可选择指定字段
  • 异常数据SQL :异常数据SQL用于查看当前规则的异常数据,当该规则运行结果为异常时在运行结果中查看。
  • 储存异常数据样本 :开关开启时,则将异常数据存储于指定位置中。

    • 每次执行结束生成表写入数据,表名默认为 dqcresult监控表名_时间戳。
    • 默认表生命周期15天,可在配置管理中修改新建表默认生命周期。
    • 每次任务执行结果的异常数据使用任务配置分区值的分区存储。
  • 结果存储位置:异常数据存储的库表,默认使用监控任务中配置的库表。

  • 期望范围:此处内容取决于模板配置时填写的采样方式和计算规则,填写一项期望范围即可。
  • 规则控制:强规则和弱规则。
    • 强规则:规则不通过时,任务置为失败状态,停止运行。
    • 弱规则:规则不通过时,任务继续运行。
  • 描述:规则的描述信息。可点击“自动生成描述”按钮根据规则生成描述信息,当查看执行实例运行结果时,异常规则执行结果旁支持展示业务描述。

如果选择了表级别,提供主键唯一性、表行数和表行数波动率的规则模板可供选择。
质量监控 - 图7

自定义规则

如果规则模板不满足要求,还可以选择自定义规则,针对字段级书写SQL语句。
质量监控 - 图8

如果对字段还有其他处理逻辑,比如需要有where语句,需要做sum操作等,或者对表进行自定义规则的创建,可以在表级(自定义SQL)中书写SQL语句实现。
质量监控 - 图9

如果当前适用表数据类型为Hive,还支持异常数据SQL输入框,用户可自行输入异常SQL语句。自定义规则SQL中支持引用UDF工厂中适用产品为数据质量的、有权限的、处于发布状态UDF函数。
质量监控 - 图10

标准推荐规则
如果当前表的字段关联了数据标准中的数据元,则字段在此处可引用数据元的质量稽核规则。点击标准推荐规则,可看到已关联数据元的字段,展开后可依次配置格式有效性值域有效性(关于数据元可查在数据标准产品介绍中进行查看)。

质量监控 - 图11

监控规则创建完成后,可以在页面查看创建好的规则,支持对规则进行重新编辑、删除或禁用操作。

质量监控 - 图12

说明:
1. 跨字段级、跨表级规则异常数据支持指定存储库,每次执行结束将新建表存储。
2. 自定义SQL规则、自定义字段规则,可以复用任务的库、表,支持用户快速创建表。(用户自行创建的表字段需与异常数据SQL的字段保持一致且必须含有dqc_rule_id,dqc_rule_description两个字段;开启异常存储后,异常数据SQL需增加${dqc_rule_id}, ${dqc_rule_description}两个字段,否则会导致异常SQL字段和表字段校验失败)。

步骤三:设置执行配置

执行配置页面支持配置规则执行方式和规则合并执行开关。
质量监控 - 图13

配置项 描述
规则执行方式 选择串行时,此任务下的规则批量提交;选择并行时,此任务下的规则同时执行(最多同时执行10条规则)。
规则合并执行 开关开启后,部分规则合并执行,减少资源消耗。

规则合并执行开关开启后,在监控任务页面可看到合并前和合并后的SQL:
质量监控 - 图14

步骤四:设置调度

质量监控任务支持独立设置调度周期,可以不与离线开发节点绑定实现独立调度,一个表可以有多个质量监控任务。如果同时配置了调度周期和离线开发调度,二者互不影响。

在设置执行配置也面通过点击“完成并配置调度”按钮进行调度设置,也可以在监控列表的操作栏中进行调度的设置。
质量监控 - 图15

注意:导入导出时不携带调度配置信息。

如果当前监控任务设置了独立的调度周期,则会在任务详情、质量监控任务列表、执行实例列表展示“独立调度”标志。
质量监控 - 图16

步骤五:试跑监控任务

监控任务创建完成之后,支持对监控任务执行试跑,以查看监控规则结果是否符合预期。点击完成并试跑,可以选择试跑任务执行的队列,当试跑成功或失败时支持多种方式的通知。
质量监控 - 图17
试跑、独立调度弹窗支持引用参数组。参数优先级为:质量监控节点上配置的set参数优先级最高、离线开发任务内引用参数组的次之、质量监控任务中引用的参数组次之。试跑、独立调度弹窗引用的参数组替换sql里的参数,不会替换库表。

步骤六:查看试跑执行结果

执行实例页面中,可以查看全部的监控任务详情,可以通过筛选实例类型试跑,查看试跑的实例。
质量监控 - 图18
在操作栏,通过点击运行结果,可查看监控任务下规则的执行情况,若不符合预期,可以对监控规则进行调整后,再在离线开发中使用。
质量监控 - 图19

步骤七:离线开发绑定质量监控任务

监控任务创建成功之后,需要在离线开发任务节点中绑定监控任务。在离线开发的任务流中,选中节点然后右键,选择配置质量监控
质量监控 - 图20
在弹窗中,配置已经创建成功的监控任务。需要注意的是,一个监控任务只能被一个任务节点绑定。
质量监控 - 图21
节点绑定监控任务后,节点会带有质量监控的图标,点击图标也可以查看该节点具体绑定的监控任务。
质量监控 - 图22

步骤七:配置报警

将任务提交上线,在线上模式下,可针对质量监控配置报警。点击添加数据质量报警功能按钮后,在弹窗中可选择报警对象(报警对象即为当前任务流下各个节点绑定的数据质量监控任务),若当前工作流中包含多个监控任务,可针对不同的监控任务配置多个报警。
质量监控 - 图23

数据质量报警包含质量异常和质量检测失败两种触发规则,支持邮件等多种接收方式,支持循环报警策略,支持质量报警上报的功能(默认会上报给项目的负责人)。

监控任务的批量导入/导出


监控列表页面支持监控任务的批量导入和批量导出,当前仅项目负责人项目管理员具有批量导入和批量导出的权限。

  • 批量导出任务
    在监控列表中勾选需要导出的任务后,点击批量导出任务按钮会弹出任务导出的确认框,确认无误后,点击导出即可。
    质量监控 - 图24

    注意:
    1.导出监控任务时将同步导出所选任务下的项目规则模板。
    2.任务包导出的监控任务只会包括模板规则和自定义规则,不包含标准推荐规则。
    3.批量导出一次最多导出100个任务。
  • 批量导入任务-任务包形式导入
    批量导入任务可将已经导出的任务包进行导入,点击批量导入任务按钮,在弹出的框中选择本地任务包进行上传,支持选择相同资源导入时是覆盖已存在任务,或跳过该任务,上传完成后点击导入即可。
    质量监控 - 图25
    任务包会在导入开始阶段进行检测,如果此时未通过检测,导入会终止。
    质量监控 - 图26
    可点击查看详情按钮,查看检测未通过详情。
    质量监控 - 图27

    注意:
    1.导入监控任务时将同步导入所选任务下的项目规则模板,如果目标存在相同项目规则模板,导入时直接引用已有的。
    2.批量任务的导出导入需尽量保证两个系统的版本一致性,原因是任务包中记录了任务包来源的DQC(数据质量中心)系统版本,不同系统版本间进行导出导入操作可能出现任务包和DQC系统版本不兼容的情况,如果不兼容会导致导入失败。
    3.单次导入任务包不超过20M。
  • 批量导入任务-excel形式导入
    根据导入规则自动生成监控任务,任务名称默认为dqc表名时间戳,默认一张表(分区)创建成一个监控任务。当前版本仅支持导入hive自定义规则。

移交负责人


当原监控负责人因为离职转岗等场景,不再负责当前其名下的所有监控任务,此时可以通过移交负责人按钮进行一键转交操作。具体操作步骤如下:

  • 首先,可在监控负责人筛选项中选择需要进行转交的用户;
  • 然后,点击移交负责人,在移交负责人的页面中选择新任务负责人,点击移交按钮即可完成。
    质量监控 - 图28

当前,移交负责人功能只有项目负责人项目管理员才有权限进行操作。

批量设置调度


支持选择多个质量监控任务设置统一的调度时间,勾选多个同数据源类型的任务即可可批量设置调度,此处仅支持批量设置独立调度而不能与离线开发关联。

监控任务复制


监控任务的复制操作也是一种快速创建任务的方法,当需要创建的监控任务和已有的任务具有相同或相似的稽核规则时,可通过复制的方法进行创建。当前仅监控负责人项目管理员以及项目负责人可复制监控任务。找到需要复制的监控任务,点击复制按钮。
质量监控 - 图29

复制监控页面,完成监控对象和规则的设置,即可完成配置,此处建议配置完成后先进行试跑操作,确认监控任务运行正常。

监控任务编辑


监控任务的编辑入口位于监控任务详情页,点击监控任务的名称进入详情页,可在页面中看到编辑按钮,点击即可对当前监控任务进行编辑。当前,只有监控负责人项目负责人以及项目管理员支持修改监控任务。
质量监控 - 图30

注意:
1.已经被引用的任务只能修改描述信息,不能修改数据源、库表分区配置以及规则。
2.未被引用的任务支持修改任务名称、任务描述、数据源类型、数据源ID、库表分区以及增加删除启用禁用规则。

监控任务删除


未被引用的监控任务,可以被监控负责人项目负责人以及项目管理员删除。在质量监控页找到需要删除的监控任务,点击删除按钮即可。
质量监控 - 图31

监控任务引用详情


质量监控页面支持对监控任务的引用详情进行查看,点击引用详情按钮可查看具体的引用情况。
质量监控 - 图32
引用详情的所属任务类型包括离线开发(开发模式)和离线开发(线上模式),点击节点名称或所属任务可跳转至离线开发查看任务详情。

一键更新标准推荐规则


右上角展示按钮”一键更新标准推荐规则“,点击弹出待更新规则清单。系统每天上午9点定时检测标准推荐规则是否与数据标准(发布态)最新质量稽核要求匹配,不匹配时支持批量更新。
质量监控 - 图33
质量监控 - 图34