数据质量为您提供数十种预设表级别、字段级别的监控模板。本文为您介绍如何按模板配置监控规则。
背景信息
内置模板分为表级和字段级的模板规则,支持您通过内置规则模板来快速为一批表批量创建数据质量规则。还支持您按表配置数据质量规则,详情请参见配置规则:按表(单表)。
使用限制
按模板配置目前支持配置EMR(E-MapReduce)、Hologres、AnalyticDB for PostgreSQL、MaxCompute数据源的监控规则。
进入按模板配置监控规则页面
登录DataWorks控制台,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据质量。
在左侧导航栏选择 ,进入按模板配置页面。
数据质量提供系统内置的表级规则模板和字段级规则模板,您可以单击对应模板后的配置监控规则来批量对表或字段配置监控规则。
配置监控规则
选择需要进行规则配置的模板,单击操作列的配置监控规则,进入该模板的批量新增监控规则页面。
配置监控规则的基本属性。
配置监控规则的基本属性。
配置监控规则的详细属性。
单击下一步,进入生成规则页面。
根据您选择的表级规则模板和字段级规则模板,批量添加需要进行该规则校验的表或字段,添加后,请为分区表配置分区表达式。分区表达式用于确定校验数据的采样范围。对于非分区表,系统会默认配置为NOTAPARTITIONTABLE。
添加表或字段。
单击添加表,在弹出的对话框中,选择目标引擎/数据库实例,列表中为您展示当前引擎/数据库中的所有表信息,您还可以输入目标表名对结果进行过滤。选中需要配置监控规则的表添加至列表中。
单击添加字段,在弹出的对话框中,选择目标引擎/数据库实例,待添加表区域为您展示当前引擎/数据库中的所有表信息,选中要配置监控规则的字段所在的表后,选择字段区域为您展示已添加表中的所有字段信息,支持您根据字段名和字段描述对结果进行过滤。选中需要配置监控规则的字段后添加至生成规则页面的列表中。
配置分区表达式。
单击目标表名右侧的
按钮,在弹出的批量设置分区表达式页面输入分区表达式,单击确认。数据质量将通过表配置的分区表达式来匹配调度节点每天产出的表分区。如果您需要批量为表配置分区表达式,则可以单击设置分区表达式按钮为选中的表批量添加分区表达式。
单击生成规则,进入规则验证页面。
您可以单击自定义列,按需自定义规则详情表中需要显示的内容。在规则验证页面您可以进行如下操作:
校验规则配置的合理性:试跑
规则创建完成后,您可以选择单个或多个规则进行试跑,在弹出来的试跑对话框中选择调度时间(模拟给定校验被触发的时间),系统会根据此时间以及设定的分区表达式,计算要验证的表的具体分区取值。 完成后单击试跑,去校验该表该分区下的数据是否符合当前配置的数据质量校验规则。
试跑后您可以单击操作列的试跑记录,查看试跑状态详情,并进行相应的处理。
说明试跑错误的可能原因为:表或表分区不存在、表数据不符合质量校验规则。
定义报警接收人:订阅管理
您可以单击订阅管理,选择订阅方式及接受对象,目前支持通过邮件通知、邮件和短信通知、钉钉群机器人、钉钉群机器人@ALL、飞书群机器人、企业微信机器人和自定义Webhook,报警给指定接收人。
说明仅DataWorks企业版版本支持使用自定义Webhook方式,DataWorks推送自定义Webhook的报警信息的消息格式请参见:附录:Webhook消息格式。
定义规则触发方式:关联调度
您可以单击推荐关联调度或手动关联调度,为单个或多个数据质量规则关联产出表数据的调度节点(运维中心中产出表数据的节点,包括自动调度的周期实例,手动触发的补数据实例,测试实例),当节点任务执行时便会触发该数据质量规则校验,您可以设置规则的强弱来控制节点是否失败退出,从而避免脏数据影响扩大。
推荐关联调度:系统会根据产出该表的节点血缘关系选中的规则自动关联推荐的调度节点。
手动关联调度:您可以为选中的规则手动关联指定的调度节点。
重要必须关联相应的调度节点,规则才会被自动触发运行。
删除规则:您可以选择单个或多个规则进行删除。
查看规则详情:您可以单击操作列的规则详情,查看规则详情,并对规则进行修改、启停、删除、设置规则强弱、查看日志等操作。
试跑运行成功且关联调度后,单击保存。确认是否已完成所有配置,确认无误后单击确认完成配置。
附录:Webhook消息格式
DataWorks推送自定义Webhook的报警信息的消息格式及参数说明如下所示:
消息示例
{
"detailUrl": "https://dqc-cn-zhangjiakou.data.aliyun.com/?defaultProjectId=3058#/jobDetail?envType=ODPS&projectName=yongxunQA_zhangbei_standard&tableName=sx_up_001&entityId=10878&taskId=16876941111958fa4ce0e0b5746379cd9bc67999d05f8&bizDate=1687536000000&executeTime=1687694111000",
"datasourceName": "emr_test_01",
"engineTypeName": "EMR",
"projectName": "线上回归项目",
"dqcEntityQuality": {
"entityName": "tb_auto_test",
"actualExpression": "ds=20230625",
"strongRuleAlarmNum": 1,
"weakRuleAlarmNum": 0
},
"ruleChecks": [
{
"blockType": 0,
"warningThreshold": 0.1,
"property": "id",
"tableName": "tb_auto_test",
"comment": "测试规则",
"checkResultStatus": 2,
"templateName": "字段唯一值个数期望值校验",
"checkerName": "fulx",
"ruleId": 123421,
"fixedCheck": false,
"op": "",
"upperValue": 22200,
"actualExpression": "ds=20230625",
"externalId": "123112232",
"timeCost": "10",
"trend": "up",
"externalType": "CWF2",
"bizDate": 1600704000000,
"checkResult": 2,
"matchExpression": "ds=$[yyyymmdd]",
"checkerType": 0,
"projectName": "auto_test",
"beginTime": 1600704000000,
"dateType": "YMD",
"criticalThreshold": "0.6",
"isPrediction": false,
"ruleName": "规则的名称",
"checkerId": 7,
"discreteCheck": true,
"endTime": 1600704000000,
"MethodName": "max",
"lowerValue": 2344,
"entityId": 12142421,
"whereCondition": "type!='type2'",
"expectValue": 90,
"templateId": 5,
"taskId": "16008552981681a0d6",
"id": 234241453,
"open": true,
"referenceValue": [
{
"discreteProperty": "type1",
"value": 20,
"bizDate": "1600704000000",
"singleCheckResult": 2,
"threshold": 0.2
}
],
"sampleValue": [
{
"discreteProperty": "type2",
"bizDate": "1600704000000",
"value": 23
}
]
}
]
}
参数说明
后续步骤
完成后当您进行配置规则:按表(单表)质量监控规则的时候,即可查看已配置的模板规则详情,并对该规则手动设置订阅管理,目前支持通过邮件通知、邮件和短信通知、钉钉群机器人、钉钉群机器人@ALL、飞书群机器人、企业微信机器人和自定义Webhook,报警给指定接收人。
如果您需要在指定业务时间内,不符合质量校验规则的数据不阻塞任务运行,可以用去噪管理功能,详情请参见:配置数据质量规则去噪。