文档

数据质量风险监控

更新时间:

数据质量风险监控主要针对数据的准确性、一致性和完整性。本教程使用DataWorks数据质量(DQC)功能,完成数仓各层次的数据质量监控。

前提条件

首先您需要完成教程搭建互联网在线运营分析平台,并保证您的DataWorks工作空间创建区域为华东2(上海),详情参见业务场景与开发流程。您需要完成数据资产定级,本教程中定义为A2,详情请参见数据资产定级

说明

数据质量风险监控理论规范,请参见数据风险点监控

背景信息

数据质量监控和数据资产等级对应,您可以根据以下因素细化您的监控配置,数据质量的详情请参见数据质量概述

  • 监控分类:数据量、主键、离散值、汇总值、业务规则和逻辑规则。

  • 监控粒度:字段级别、表级别。

  • 监控层次:ODS、CDM、ADS三层数据,其中ODS和DWD层主要偏重数据的完整性和一致性。DWS和ADS层数据量较小、逻辑复杂,偏重数据的准确性。

    说明

    如需了解各分层的详细说明,请参见数仓分层

以下为不同数据资产等级和数仓层次数据的数据质量监控建议,仅供参考。

操作步骤

  1. ODS层数据质量监控。

    ODS层表中的数据来源于OSS上的日志文件,作为源头表,您需要尽早判断此表分区中是否有数据。如果这张表中没有数据,则后续任务运行无意义,需要阻止后续任务运行。

    1. 进入数据质量页面。

      数据开发页面,单击左上角图标,选择数据质量

    2. 进入ods_user_trace_log监控规则页面。

      数据质量页面的左侧导航栏,选择规则管理 > 按表配置,在规则配置-按表配置页面找到表ods_user_trace_log,单击操作列的配置监控规则22

    3. 添加分区。

      1. 单击+,选择分区表达式 dt=$[yyyymmdd-1],对应表ods_user_trace_log的分区格式为${bdp.system.bizdate}(即获取到前一天的日期)。分区表达式的详细信息请参见调度参数支持的格式。如果表中无分区列,可以配置无分区。

      2. 单击计算,验证计算结果是否正确。

      3. 单击确认,完成分区的添加。

    4. 创建规则确保ODS层表分区内存在数据。

      1. 单击创建规则11

      2. 单击模板规则 > 添加监控规则

      3. 输入配置参数。23

        参数

        描述

        规则名称

        请输入规则名称。您可以自定义。

        强弱

        设置为强规则。强弱规则说明如下:

        • 如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。

        • 如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。

        规则来源

        选择内置模板

        规则字段

        选择表级规则

        规则模板

        选择表行数,固定值

        比较方式

        选择大于

        期望值

        设置为0。

    5. 监控重复数据。

      1. 单击添加监控规则

      2. 输入配置参数。11

        参数

        描述

        规则名称

        请输入规则名称。您可以自定义。

        强弱

        设置为强规则。强弱规则说明如下:

        • 如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。

        • 如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。

        规则来源

        选择内置模板

        规则字段

        选择ts(bigint)ts(bigint)值为用户时间戳,目的是避免ODS层出现重复的数据。

        规则模板

        选择重复值个数、固定值

        比较方式

        选择等于

        期望值

        设置为0。

    6. 监控空值数据。

      1. 单击添加监控规则

      2. 输入配置参数。11

        参数

        描述

        规则名称

        请输入规则名称。您可以自定义。

        强弱

        设置为强规则。强弱规则说明如下:

        • 如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。

        • 如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。

        规则来源

        选择内置模板

        规则字段

        选择uid(string)uid(string)值为用户ID,目的是避免出现用户ID为空值的脏数据。

        规则模板

        选择空值个数、固定值

        比较方式

        选择等于

        期望值

        设置为0。

    7. 批量保存规则。完成上述操作后,单击批量保存

    8. 规则试跑。

      单击试跑,进行数据质量的校验规则。

    9. 查看试跑结果。

      试跑完成后,单击试跑成功!点击查看试跑结果查看试跑结果。在弹出的页面中,您可以查看表数据是否已符合您的规则。根据试跑结果,可以确认此次任务产出的数据是否符合预期。建议每个表规则配置完毕后,都进行一次试跑操作,以验证表规则的适用性。

    10. 关联调度。

      在规则配置完毕,且试运行成功的情况下,您需要将表和其产出任务进行关联,这样每次表的产出任务运行完毕后,都会触发数据质量规则的校验,以保证数据的准确性。

      1. 在表监控规则页面,单击关联调度,配置规则与任务的绑定关系。

      2. 关联调度弹框中输入您需要关联的任务节点名称,单击添加

      3. 单击关闭退出关联调度页面。如下图所示,关联调度配置成功。11

    11. 配置任务订阅。

      关联调度后,每次调度任务运行完毕,都会触发数据质量的校验。数据质量支持设置规则订阅,可以针对重要的表及其规则设置订阅,设置订阅后会根据数据质量的校验结果进行告警,从而实现对校验结果的跟踪。

      单击订阅管理,设置接收人以及订阅方式。目前支持邮件通知邮件和短信通知钉钉群机器人钉钉群机器人@ALL四种方式。11

      订阅管理设置完毕后,单击左侧导航栏上的我的订阅进行查看及修改,建议您订阅所有规则。

  2. CDM层数据质量监控。

    CDM层数据质量监控配置方法与ODS层相同,区别在于监控规则不同。

    1. 添加分区表达式。

      进入dw_user_trace_log表的规则配置页面,与ODS层一样配置分区为dt=$[yyyymmdd-1],确保分区内存在表数据。

    2. 监控表行数及空值数据。表行数和空值数据的监控规则配置与ODS层相同。

    3. 监控表行数波动率。

      11

      参数

      描述

      规则名称

      请输入规则名称。您可以自定义。

      强弱

      设置为强规则。强弱规则说明如下:

      • 如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。

      • 如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。

      规则来源

      选择内置模板

      规则字段

      选择表级规则(table)

      规则模板

      选择表行数、上周期波动率

      比较方式

      选择绝对值

      波动值比较

      橙色阈值为10,红色阈值为50,代表当表行数波动率达到50%时,会产生红色报警。

    4. 规则试跑并关联调度。方法和ODS层一致。

  3. ADS层数据质量监控。

    ADS层数据质量监控配置方法与ODS层相同,区别在于监控规则的不同。

    1. 添加分区表达式。

      进入rpt_user_trace_log表的规则配置页面,同样配置分区为dt=$[yyyymmdd-1]

    2. 监控表行数、波动率及空值数据。

      监控表行数、波动率和空值数据的监控规则配置与CDM层相同。由于在数仓分层中,越靠近应用层数据越少、约束性越低,强弱选择为

    3. 监控表异常PV。

      您可以利用自定义规则功能监控ADS层的应用数据。

      1. 单击自定义规则 > 添加监控规则

      2. 配置自定义规则参数。1

        参数

        描述

        规则名称

        请输入规则名称。您可以自定义。

        强弱

        设置为弱规则。强弱规则说明如下:

        • 如果设置强规则,红色异常报警并阻塞下游任务节点,橙色异常报警不阻塞。

        • 如果设置弱规则,红色异常报警不阻塞下游任务节点,橙色异常不报警不阻塞。

        规则字段

        选择规则字段为pv(bigint)

        采样方式

        选择sum

        校验类型

        选择数值型

        校验方式

        选择与固定值比较

        比较方式

        选择大于

        期望值

        设置为100。当PV和异常锐减到100时,您可以及时收到告警。

      3. 完成配置后,单击批量保存

    4. 规则试跑并关联调度。方法与ODS层一致。