Dataphin支持创建校验数据表的质量规则,提升数据表质量监控的便捷性。本文为您介绍如何配置数据表的质量规则。
前提条件
已经添加监控对象才可配置质量规则,如何添加监控对象,请参见添加监控对象。
权限说明
超级管理员、质量管理员支持为质量规则配置调度、告警、异常归档表、打分权重等。
质量负责人支持在自己所负责的监控对象下为质量规则配置调度、告警、异常归档表、打分权重等。
质量负责人、普通用户需要额外具备有Dataphin数据表的读取权限,如需申请,请参见申请、续期和交还表权限。
质量规则配置说明
质量规则支持自定义配置和引用数据标准监控(引用数据标准监控需开通数据标准模块)两种方式。
自定义配置是基于系统内置/自定义质量规则模板快速创建,也支持自定义SQL,满足灵活的监控诉求。
引用数据标准监控是引用当前资产对象映射到的数据标准已配置的质量规则,更好地满足标准约束。
校验规则说明
数据表参与质量规则校验时,如果触发了质量弱监控规则,系统会给您发送告警消息,便于您及时发现并处理异常;如果触发了质量强监控规则,系统会自动中断该表所在的任务,避免脏数据流入下游,同时系统会给您发送告警消息,便于您及时发现并处理异常。
质量规则试跑和运行区别
试跑和运行的区别在于执行的方式和显示的结果,试跑指对某个质量规则进行一次模拟执行,以检测规则的正确性和运行情况,试跑的结果不会在质量报告中显示;运行指在特定时间内对质量规则进行检查,运行的结果会输出到质量报告中,便于用户查看和分析。
质量规则配置
在Dataphin首页,单击顶部菜单栏的资产。
按照下图操作指引,进入质量规则详情页面,配置质量规则。
自定义配置
数据表悬停新建质量规则选择自定义配置或单击新建质量规则,进入新建质量规则对话框。
在新建质量规则对话框,配置参数。
参数
描述
规则名称
自定义质量规则的名称。
规则强度
支持弱规则和强规则。
如果您选择了弱规则,则质量规则校验的结果为异常时报警但不阻塞下游任务节点。
如果您选择了强规则,则质量规则校验的结果为异常时报警,同时在有下游任务的情况下(代码检查调度、任务触发调度)会阻塞下游任务,防止污染数据扩散;如果没有下游任务(如周期质量调度),则仅告警。
描述
自定义质量规则描述。不超过128字符。
配置方式
模板创建:使用通用的系统模板和自定义的业务模板,快速创建质量规则。
系统模板:模板内置参数可配置,适合通用的规则创建。
自定义模板:模板预置参数,无需配置,一般用于含业务逻辑的规则创建。
自定义SQL:可通过SQL灵活自定义质量监控规则,适用于灵活复杂场景。
规则模板
下拉可选择规则模板,完整性、唯一性、及时性、有效性、一致性、稳定性、自定义SQL。
完整性:包括字段空值校验和字段空字符串校验。
唯一性:包含字段唯一性校验、字段分组个数校验和字段重复值个数校验。
及时性:包含时间函数比较、单表时间字段比较和两表时间字段比较。
有效性:包含字段格式校验、字段长度校验、字段值域校验、码表参照对比和数据标准码表参照对比(需开通数据标准模块)。
一致性:包含单表字段值一致性比较、单表字段统计值一致性比较、单字段业务逻辑一致性比较、两表字段值一致性比较、两表字段统计值一致性比较、两表字段业务逻辑一致性比较和跨源两表字段统计值一致性比较。
稳定性:包含表稳定性校验、表波动性校验、字段稳定性校验和字段波动性校验。
自定义SQL:包含自定义统计指标校验和自定义数据详情校验。
详情请参见模板类型说明。
规则类型
规则类型和模板有关,是模板最基础的属性,可作为说明和筛选功能。
规则配置
规则配置因选择不同的规则模板而变化。详情请参见数据表参数配置。
特殊配置如下:
校验表数据过滤:默认关闭,开启后可配置校验表的过滤条件或分区过滤或普通数据过滤,过滤条件将会直接追加至校验SQL中;如校验表有分区过滤需求,建议在调度配置中配置分区表达式,配置后会以校验分区为最小查看粒度查看质量报告。
当规则模板选择一致性/两表字段统计值一致性比较、一致性/跨源两表字段统计值一致性比较时,可以选择是否开启对比表数据过滤,开启后可以配置对比表的过滤条件或分区过滤或普通数据过滤,过滤条件将会直接追加至校验SQL中。
规则校验
数据质量规则校验后,结果会和异常校验的配置进行对比,符合条件则校验结果为不通过;同时触发告警等后续流程。
异常校验可用指标由模板和配置内容决定,支持多种条件(and/or)组合,实际配置中建议小于3条。
详情请参见校验配置说明。
异常归档
默认关,开启后可以归档异常数据到文件或归档表中,质量校验后可以下载、分析归档的异常数据。
归档模式支持仅归档异常字段和归档完整记录。
仅归档异常字段:只去重归档当前监控字段,适用于通过单字段就可以完整确定异常数据的情况。
归档完整记录:归档异常数据所在的整条记录,适用于必须通过完整记录才能定位异常数据的情况。
说明因归档完整记录会极大增加归档数据量,建议正常情况下都使用仅归档异常字段。
归档位置支持默认文件服务器和异常数据归档表。若未创建异常归档表,可点击管理异常归档表创建,详情请参见添加异常归档表。
默认文件服务器:指Dataphin部署时配置的系统文件服务器,后续您可以在校验记录页面下载每次校验识别到的异常数据。使用默认文件服务器时,每次校验执行最多归档100条异常数据,使用于小数据量校验的场景。
异常数据归档表:如果您希望存储更多异常数据或将不同校验记录的异常数据放在一起便于后续的对比分析,建议自行指定归档表。使用指定归档表单次校验最多记录10000条数据,除了可以直接在校验记录页面快捷下载单次校验的异常数据,您也可以直接访问归档表、自定义表生命周期,有更高的灵活性。
说明在归档表中针对本次校验的异常数据进行下载,下载数量不超过1000条,如果有更多的数据需要查看,建议归档到异常归档表后直接在表中查看。
异常归档表需要满足特定的格式要求,否则可能在写入数据时报错,影响使用。格式脚本如下:
create table 当前表名_exception_data (dataphin_quality_tenant_id varchar(64) comment '租户ID' , dataphin_quality_rule_id varchar(64) comment '质量规则ID', dataphin_quality_rule_name varchar(256) comment '质量规则名称', dataphin_quality_column_name varchar(1024) comment '校验字段名称', dataphin_quality_watch_task_id varchar(128) comment '监控对象任务ID', dataphin_quality_rule_task_id varchar(64) comment '规则任务ID', dataphin_quality_validate_time varchar(64) comment '质量校验时间', dataphin_quality_archive_mode varchar(32) comment '异常归档模式,ONLY_ERROR_FIELD/FULL_RECORD', dataphin_quality_error_data string comment '异常数据', id bigint, value decimal(30,8) ) partitioned by (dataphin_quality_validate_date string comment '校验日期(分区字段)');
计分方式
支持质量校验状态和数据合格比例两种计分方式。
质量校验状态:按照当前规则最近一次执行成功的校验记录的校验状态进行打分,校验通过100分,校验不通过0分。
合格数据比例:将当前规则最近一次执行成功的校验记录中的正常数据的比例(即正常率)作为分数,如数据格式有效性是80%,那么质量分就是80分。
不同的规则模板支持的计分方式不同,仅支持质量校验状态的计分方式说明如下:
唯一性规则大类的字段分组个数校验、字段重复值个数校验。
一致性规则大类的单表字段统计值一致性比较、跨源两表字段统计值一致性比较。
稳定性规则大类。
自定义SQL规则大类的自定义统计指标校验。
质量分权重
质量规则的质量分权重,用于统计监控对象的质量分。支持选择1-10之间的整数。
单击确定,完成自定义规则配置。
预览SQL
说明关键信息没有填写完整,预览SQL不可用。
左边为上次保存配置SQL预览,若未配置,则为空;右边为当前配置SQL预览。
引用数据标准监控
数据表悬停新建质量规则选择引用数据标准监控。
在引用数据标准监控对话框选择需要引用的数据标准规则。
说明引用后不支持修改规则详情配置,可自行配置调度、修改规则强弱等信息。
您可以根据有效性、唯一性、完整性、稳定性四种规则模板筛选标准规则,也可以输入对象名称进行搜索。
在引用数据标准规则对话框中,支持修改规则名称、开启或关闭生效状态,您也可以单击关联标准下的标准编码查看标准详情。
您可单击操作列下的图标查看质量规则。
单击添加选择规则,完成引用数据标准规则。
规则配置列表
质量规则创建完成后,您可在规则配置列表进行查看、编辑、试跑、运行、删除等操作。
区域 | 描述 |
①筛选及搜索区 | 支持按照对象或者规则名称进行快捷搜索。 支持按照规则类型、规则模板、规则强度、试跑状态、生效状态、规则来源进行筛选。 |
②列表区 | 为您展示规则配置列表的对象名称、规则名称、试跑状态、生效状态、规则类型、规则模板、规则强度、调度类型、相关知识库文档信息。
|
③操作区 | 您可进行查看、克隆、编辑、试跑、运行、调度配置、关联知识库文档、质量分配置、删除操作。
|
④批量操作区 | 您可批量进行试跑、运行、配置调度、开启、关闭、关联知识库文档、质量分配置、删除操作。
|
新建调度
规则配置调度时,可以基于当前已有的调度快速进行配置(每个表上限20个调度规则)。
同一个规则最多能配置10个调度。
调度配置完全一致时,支持自动去重。
若当前表为Hologres分区表,建议使用固定任务触发调度。
校验范围会作为质量校验时的过滤条件下发到质量校验的语句中,控制每次质量校验的范围。校验范围也会作为后续质量报告等下游的基本单元,质量报告的查看会以校验范围为最小查看粒度。
在质量规则详情页面,按照下图操作指引,进入新建调度对话框。
在新建调度对话框,配置参数。
参数
描述
调度名称
自定义调度名称。
调度类型
支持定时调度、数据更新触发调度和固定任务触发调度。
定时调度:按照设置的时间,周期性的对数据进行质量检测,适合数据文档产出的场景。
调度周期:包含日、周、月、小时、分钟五种周期类型。
数据更新触发调度:在一个代码任务执行时,会解析本次任务是否更新当前表和所属分区,并执行校验(非分区表只判断表是否更新);如果涉及到配置了该调度方式的表发生变更,则会开始执行质量规则。
说明适用于表的修改任务不固定或者是重点监控表,每次变更都需要监控的情况。
固定任务触发调度:仅在指定的任务完成后,执行配置的质量规则。支持选择指定SQL、离线管道、Python、Shell、Datax、Spark_jar、Hive_MR、数据库SQL节点的任务类型触发任务。
说明适用于表的修改任务固定的情况。
固定任务触发只能选择生产环境任务,若规则强度配置了强规则,调度任务校验失败,可能会影响线上任务,请根据业务需求谨慎操作。
触发任务:支持选择所有任务均完成触发、任一任务完成即触发和任一任务执行前触发。
调度条件
默认关闭,开启后,在质量规则正式调度前,会先判断是否满足调度条件。满足条件才会正式调度,不满足条件则忽略本次调度。
业务日期/执行日期:若调度类型选择定时调度(定时调度不支持执行日期)、数据更新触发调度、固定任务触发调度,支持配置日期,可选择普通日历或自定义日历,如何自定义日历,请参见新建公共日历。
若选择普通日历,则条件可选月份、星期、日期。例如下图:
若选择自定义日历,则条件可选日期类型、标签。例如下图:
实例类型:若调度类型选择数据更新触发调度、固定任务触发调度,支持配置实例类型,可选择周期实例、补数据实例、手动实例。例如下图:
说明至少配置一条规则。如需添加规则,请单击+添加规则按钮。
最多配置10个调度条件。
调度条件之间的关系可配置为且、或。
校验范围
当调度类型选择定时调度、固定任务触发调度时,校验范围支持自定义校验范围;当调度类型选择数据更新触发调度时,校验范围支持任务更新的分区
、自定义校验范围。
任务更新的分区:若检查任务中更新了分区,则直接按照任务更新的分区下发任务。
说明动态分区场景可能解析不到分区,将不会进行质量校验。
任务更新了分区,则不支持触发波动性质量校验(如校验分区大小、分区行数、字段统计值)。
非分区表更新时校验全表。
自定义校验范围:对于无法解析的场景,可以使用自定义校验范围,按照业务日期或者执行日期来指定校验范围表达式。
校验范围表达式:为可输入的下拉选择框,支持直接输入需要校验的范围,如
ds='${yyyyMMdd}'
;也可以选择内置的校验范围表达式然后进行修改,以帮助您快速配置,分区表达式详情请参见内置分区表达式类型。说明若有多个条件进行校验,可用and或or进行连接,如
province="浙江" and ds<=${yyyyMMdd}。
若质量规则中配置了过滤条件,则校验范围表达式和过滤条件之间为and关系,校验数据时,两个条件会一起进行过滤。
校验范围表达式支持对全表进行扫描。
注意:全表扫描将会消耗较大的资源,并且部分不支持全表扫描,建议配置分区表达式以避免全表扫描。
校验范围预算:默认业务日期当天。
单击确定,完成调度配置。
调度配置列表
调度创建完成后,您可以在调度配置列表进行查看、编辑、克隆、删除等操作。
区域 | 描述 |
①筛选及搜索区 | 支持按照调度名称进行快捷搜索。 支持按照定时调度、数据更新触发调度、固定任务触发调度进行筛选。 |
②列表区 | 为您展示规则配置列表的调度名称、调度类型、最后更新人、最后更新时间信息。 |
③操作区 | 您可对调度执行编辑、克隆、删除操作。
|
告警配置
您可以给不同的规则配置不同的告警方式以实现区分告警,如:为强规则异常配置电话告警,弱规则异常配置短信告警;如果一个规则同时命中了多条告警配置,支持设置告警的生效策略。
单个监控对象下支持创建不超过20个告警配置。
在质量规则详情页面,按照下图指引,进入新建告警配置对话框。
在新建告警配置对话框,配置参数。
参数
描述
覆盖范围
支持选择所有规则、所有强规则、所有弱规则和自定义。
说明单个监控对象下,所有规则、所有强规则和所有弱规则3种范围支持各配置一条告警,后续新增的规则根据规则强度自动匹配对应的告警;如需变更其中的某一条告警配置,可修改已有配置。
自定义范围可选择当前监控对象下已配置的所有规则,不超过200条。
告警配置名称
单个监控对象下告警配置名称唯一,不超过256个字符。
告警接收人
配置告警接收人及告警方式。需要选择至少一种告警接收人及告警方式。
告警接收人:支持选择自定义、值班表和质量负责人三种告警接收人。
支持配置不超过5个自定义告警接收人;支持配置不超过3个值班表。
告警方式:支持选择电话、邮件、短信、钉钉不同的接收方式。
单击确定,完成告警配置。
告警配置列表
告警配置完成后,您可在告警配置列表中进行排序、编辑、删除操作。
序号 | 描述 |
①排序区 | 支持配置一条质量规则符合多条告警配置时的告警生效策略:
|
②列表区 | 为您展示告警配置的名称、生效范围、每种告警类型的具体接收人以及对应的告警接收方式。 生效范围:自定义告警支持查看配置的对象名和规则名,若该规则被删除,则无法查看对象名,建议您更新告警配置。 |
③操作区 | 您可以对配置的告警执行编辑和删除操作。
|
添加异常归档表
异常归档表实现质量规则校验异常的记录归档。
在质量规则详情页面,按照下图操作指引,进入添加异常归档表对话框。
在添加异常归档表对话框,配置参数。
添加方式支持选择已有表和新建表两种方式。增加了特殊的质量校验字段,异常数据归档不会写入原来的数据表。
选择已有表:支持选择同项目或同数据源表,归档表必须包含质量监控表的所有字段及校验字段,脚本格式如下:
create table 当前表名_exception_data (dataphin_quality_tenant_id varchar(64) comment '租户ID' , dataphin_quality_rule_id varchar(64) comment '质量规则ID', dataphin_quality_rule_name varchar(256) comment '质量规则名称', dataphin_quality_column_name varchar(1024) comment '校验字段名称', dataphin_quality_watch_task_id varchar(128) comment '监控对象任务ID', dataphin_quality_rule_task_id varchar(64) comment '规则任务ID', dataphin_quality_validate_time varchar(64) comment '质量校验时间', dataphin_quality_archive_mode varchar(32) comment '异常归档模式,ONLY_ERROR_FIELD/FULL_RECORD', dataphin_quality_error_data string comment '异常数据', id bigint, value decimal(30,8) ) partitioned by (dataphin_quality_validate_date string comment '校验日期(分区字段)');
新建表:可自定义表名,需在归档表所属项目或所属板块内,不超过128字符,默认填入当前表名_exception_data。添加成功后会在同库或同数据源新建表。
监控表为物理表时,将在监控表所在项目创建归档表。
监控表为维度逻辑表、事实逻辑表时,默认会在监控表所在项目创建归档表,也可以手动指定为监控表板块下的项目,如projectA.table_name。
监控表是汇总逻辑表时,归档表名建议指定同板块下的项目名称,否则会自动归档到监控表所在板块下的一个项目。
归档表必须包含质量监控表的所有字段及校验字段,脚本格式如下:
create table 当前表名_exception_data (dataphin_quality_tenant_id varchar(64) comment '租户ID' , dataphin_quality_rule_id varchar(64) comment '质量规则ID', dataphin_quality_rule_name varchar(256) comment '质量规则名称', dataphin_quality_column_name varchar(1024) comment '校验字段名称', dataphin_quality_watch_task_id varchar(128) comment '监控对象任务ID', dataphin_quality_rule_task_id varchar(64) comment '规则任务ID', dataphin_quality_validate_time varchar(64) comment '质量校验时间', dataphin_quality_archive_mode varchar(32) comment '异常归档模式,ONLY_ERROR_FIELD/FULL_RECORD', dataphin_quality_error_data string comment '异常数据', id bigint, value decimal(30,8) ) partitioned by (dataphin_quality_validate_date string comment '校验日期(分区字段)');
单击确定,完成异常归档表添加。
查看异常归档表列表
添加成功后,默认第一个为归档表。单击异常归档表的名称,可以查看字段、数据类型、字段描述信息。您可以对归档表执行设为默认、删除操作。
设为默认:若把该表设为默认,则异常数据只能归档到默认的归档表。
删除:仅删除和异常归档表的引用关系,不会删除异常归档表本身,删除后如果需要可以重新添加。
查看质量报告
单击质量报告,查看当前质量规则的规则校验概览和规则校验明细。
您可根据异常结果、分区时间、规则或对象的名称关键字快捷筛选校验明细。
单击图标,查看质量规则的规则校验详情。
单击图标,查看质量规则的执行日志。
设置质量规则权限管理
单击权限管理,指定成员查看校验记录详情、质量规则详情、质量报告。
可查看详情:可选择所有成员或仅超级管理员、质量管理员和质量负责人。
单击确定,完成权限管理配置。
后续步骤
上述质量规则配置完成后,即可在Dataphin数据表规则列表页面查看。详情请参见查看监控对象列表。
- 本页导读 (0)