数据质量风险监控主要针对数据的准确性、一致性和完整性。本教程使用DataWorks数据质量(DQC)功能,完成数仓各层次的数据质量监控。
前提条件
首先您需要完成教程搭建互联网在线运营分析平台,并保证您的DataWorks工作空间创建区域为华东2(上海),详情参见业务场景与开发流程。您需要完成数据资产定级,本教程中定义为A2,详情请参见数据资产定级。
数据质量风险监控理论规范,请参见数据风险点监控。
背景信息
数据质量监控和数据资产等级对应,您可以根据以下因素细化您的监控配置,数据质量的详情请参见数据质量概述。
监控分类:数据量、主键、离散值、汇总值、业务规则和逻辑规则。
监控粒度:字段级别、表级别。
监控层次:ODS、CDM、ADS三层数据,其中ODS和DWD层主要偏重数据的完整性和一致性。DWS和ADS层数据量较小、逻辑复杂,偏重数据的准确性。
说明如需了解各分层的详细说明,请参见数仓分层。
以下为不同数据资产等级和数仓层次数据的数据质量监控建议,仅供参考。
操作步骤
ODS层数据质量监控。
ODS层表中的数据来源于OSS上的日志文件,作为源头表,您需要尽早判断此表分区中是否有数据。如果这张表中没有数据,则后续任务运行无意义,需要阻止后续任务运行。
进入数据质量页面。
在数据开发页面,单击左上角图标,选择数据质量。
进入ods_user_trace_log监控规则页面。
在数据质量页面的左侧导航栏,选择
,在规则配置-按表配置页面找到表ods_user_trace_log,单击操作列的配置监控规则。添加分区。
单击+,选择分区表达式为 dt=$[yyyymmdd-1],对应表ods_user_trace_log的分区格式为${bdp.system.bizdate}(即获取到前一天的日期)。分区表达式的详细信息请参见调度参数支持的格式。如果表中无分区列,可以配置无分区。
单击计算,验证计算结果是否正确。
单击确认,完成分区的添加。
创建规则确保ODS层表分区内存在数据。
单击创建规则。
单击
。输入配置参数。
参数
描述
规则名称
请输入规则名称。您可以自定义。
强弱
设置为强规则。强弱规则说明如下:
如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。
如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。
规则来源
选择内置模板。
规则字段
选择表级规则。
规则模板
选择表行数,固定值。
比较方式
选择大于。
期望值
设置为0。
监控重复数据。
单击添加监控规则。
输入配置参数。
参数
描述
规则名称
请输入规则名称。您可以自定义。
强弱
设置为强规则。强弱规则说明如下:
如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。
如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。
规则来源
选择内置模板。
规则字段
选择ts(bigint)。ts(bigint)值为用户时间戳,目的是避免ODS层出现重复的数据。
规则模板
选择重复值个数、固定值。
比较方式
选择等于。
期望值
设置为0。
监控空值数据。
单击添加监控规则。
输入配置参数。
参数
描述
规则名称
请输入规则名称。您可以自定义。
强弱
设置为强规则。强弱规则说明如下:
如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。
如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。
规则来源
选择内置模板。
规则字段
选择uid(string)。uid(string)值为用户ID,目的是避免出现用户ID为空值的脏数据。
规则模板
选择空值个数、固定值。
比较方式
选择等于。
期望值
设置为0。
批量保存规则。完成上述操作后,单击批量保存。
规则试跑。
单击试跑,进行数据质量的校验规则。
查看试跑结果。
试跑完成后,单击试跑成功!点击查看试跑结果查看试跑结果。在弹出的页面中,您可以查看表数据是否已符合您的规则。根据试跑结果,可以确认此次任务产出的数据是否符合预期。建议每个表规则配置完毕后,都进行一次试跑操作,以验证表规则的适用性。
关联调度。
在规则配置完毕,且试运行成功的情况下,您需要将表和其产出任务进行关联,这样每次表的产出任务运行完毕后,都会触发数据质量规则的校验,以保证数据的准确性。
在表监控规则页面,单击关联调度,配置规则与任务的绑定关系。
在关联调度弹框中输入您需要关联的任务节点名称,单击添加。
单击关闭退出关联调度页面。如下图所示,关联调度配置成功。
配置任务订阅。
关联调度后,每次调度任务运行完毕,都会触发数据质量的校验。数据质量支持设置规则订阅,可以针对重要的表及其规则设置订阅,设置订阅后会根据数据质量的校验结果进行告警,从而实现对校验结果的跟踪。
单击订阅管理,设置接收人以及订阅方式。目前支持邮件通知、邮件和短信通知、钉钉群机器人和钉钉群机器人@ALL四种方式。
订阅管理设置完毕后,单击左侧导航栏上的我的订阅进行查看及修改,建议您订阅所有规则。
CDM层数据质量监控。
CDM层数据质量监控配置方法与ODS层相同,区别在于监控规则不同。
添加分区表达式。
进入dw_user_trace_log表的规则配置页面,与ODS层一样配置分区为dt=$[yyyymmdd-1],确保分区内存在表数据。
监控表行数及空值数据。表行数和空值数据的监控规则配置与ODS层相同。
监控表行数波动率。
参数
描述
规则名称
请输入规则名称。您可以自定义。
强弱
设置为强规则。强弱规则说明如下:
如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。
如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。
规则来源
选择内置模板。
规则字段
选择表级规则(table)。
规则模板
选择表行数、上周期波动率。
比较方式
选择绝对值。
波动值比较
橙色阈值为10,红色阈值为50,代表当表行数波动率达到50%时,会产生红色报警。
规则试跑并关联调度。方法和ODS层一致。
ADS层数据质量监控。
ADS层数据质量监控配置方法与ODS层相同,区别在于监控规则的不同。
添加分区表达式。
进入rpt_user_trace_log表的规则配置页面,同样配置分区为dt=$[yyyymmdd-1]。
监控表行数、波动率及空值数据。
监控表行数、波动率和空值数据的监控规则配置与CDM层相同。由于在数仓分层中,越靠近应用层数据越少、约束性越低,强弱选择为弱。
监控表异常PV。
您可以利用自定义规则功能监控ADS层的应用数据。
单击
。配置自定义规则参数。
参数
描述
规则名称
请输入规则名称。您可以自定义。
强弱
设置为弱规则。强弱规则说明如下:
如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。
如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。
规则字段
选择规则字段为pv(bigint)。
采样方式
选择sum。
校验类型
选择数值型。
校验方式
选择与固定值比较。
比较方式
选择大于。
期望值
设置为100。当PV和异常锐减到100时,您可以及时收到告警。
完成配置后,单击批量保存。
规则试跑并关联调度。方法与ODS层一致。