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

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

新建监控任务


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

步骤一:设置监控对象

选择需要监控的库表,若表为分区表,也可以选择具体的分区进行监控,监控名称默认由dqc_开头,拼接库和表的名称,允许修改。
监控任务新建流程 - 图2

异常数据存储配置支持储存异常数据样本开关、结果储存位置配置,通过该功能可将异常数据存储到指定的库表中,异常结果表的每个分区都存放一次任务执行的异常数据。

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

步骤二:设置监控规则

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

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

  • 规则类型:支持字段级表级
  • 字段名:当规则类型为字段级时,此处选择需要设置规则的字段名称。
  • 规则模板:支持选择在规则模板页面中已经存在的模板。根据不同的规则类型进行展示。
  • 规则代码:显示所选模板的规则代码,支持按逆向方式执行规则
    • 默认:采样结果=根据规则代码计算的行数。
    • 逆向:采样结果=总行数-根据规则代码计算的行数。
  • 期望范围:此处内容取决于模板配置时填写的采样方式和计算规则,填写一项期望范围即可。
  • 规则控制:强规则和弱规则。
    • 强规则:规则不通过时,任务置为失败状态,停止运行。
    • 弱规则:规则不通过时,任务继续运行。
  • 描述:规则的描述信息。可点击“自动生成描述”按钮根据规则生成描述信息,当查看执行实例运行结果时,异常规则执行结果旁支持展示业务描述。

如果选择了表级别,提供主键唯一性、表行数和表行数波动率的规则模板可供选择。
监控任务新建流程 - 图5

自定义规则

如果规则模板不满足要求,还可以选择自定义规则,针对字段级书写SQL语句。
监控任务新建流程 - 图6

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

如果当前适用表数据类型为Hive,还支持异常数据SQL输入框,用户可自行输入异常SQL语句。
监控任务新建流程 - 图8

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

监控任务新建流程 - 图9

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

监控任务新建流程 - 图10

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

步骤三:设置执行配置

执行配置页面支持配置规则执行方式和规则合并执行开关。
监控任务新建流程 - 图11

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

规则合并执行开关开启后,在监控任务页面可看到合并前和合并后的SQL:
监控任务新建流程 - 图12

步骤四:设置调度

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

在设置执行配置也面通过点击“完成并配置调度”按钮进行调度设置,也可以在监控列表的操作栏中进行调度的设置。
监控任务新建流程 - 图13

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

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

步骤五:试跑监控任务

监控任务创建完成之后,支持对监控任务执行试跑,以查看监控规则结果是否符合预期。点击完成并试跑,可以选择试跑任务执行的队列,当试跑成功或失败时支持多种方式的通知。
监控任务新建流程 - 图15

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

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

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

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

步骤七:配置报警

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

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