文档

配置数据质量监控

更新时间:

本文为您介绍如何通过数据质量实现表数据监控。

前提条件

在进行本实验前,请确保已完成采集数据加工数据

  • 已通过数据集成将存储于RDS MySQL的用户基本信息(ods_user_info_d)同步至MaxCompute的ods_user_info_d表。

  • 已通过数据集成将存储于OSS的网站访问日志(user_log.txt)同步至MaxCompute的ods_raw_log_d表。

  • 已通过数据开发DataStudio将数据加工为用户画像基本数据。

背景信息

数据质量是支持多种异构数据源的质量校验、通知、管理服务的一站式平台。数据质量以数据集(DataSet)为监控对象,目前支持MaxCompute数据表监控。当离线MaxCompute数据发生变化时,数据质量会对数据进行校验,并阻塞生产链路,以避免问题数据污染扩散。同时,数据质量提供历史校验结果的管理,以便您对数据质量分析和定级。

本案例通过DataWorks数据质量功能及时感知用户画像分析案例源端数据的变更与ETL(Extract Transform Load)过程中产生的脏数据。基于用户画像分析加工流程,汇总质量监控规则如下:

表名

需求明细

ods_raw_log_d

对每日同步的原始日志数据进行表数据非0监控,避免后续无效加工,及时止损。

ods_user_info_d

对每日同步的用户信息数据进行表行数非0校验(强规则)和业务主键唯一性校验(弱规则),避免后续无效加工,及时止损。

dwd_log_info_di

不单独进行监控。

dws_user_info_all_di

不单独进行监控。

ads_user_info_1d

对每日用户数据进行表行数波动监测,以此观察每日UV的波动,以便及时了解应用动态。

进入规则配置页面

  1. 进入数据质量页面。

    登录DataWorks控制台,单击左侧导航栏的数据建模与开发 > 数据质量,在下拉框中选择对应工作空间后单击进入数据质量

  2. 进入表规则配置页面。

    在数据质量左侧导航栏,单击规则管理 > 按表配置根据如下参数定位目标表。

    • 数据源:MaxCompute

    • 数据库:您当前的生产项目(workshop2023)。

    • 表:本案例需要分别为ods_raw_log_d、 ods_user_info_d、ads_user_info_1d表设置监控规则。

  3. 在搜索结果中找到目标表,单击操作列的监控配置,进入该表的规则配置页面。具体配置参考下文操作。

配置质量监控规则

配置ods_raw_log_d质量监控规则

表ods_raw_log_d用于接收从OSS同步过来的用户网站访问记录,基于该表业务属性,我们为其配置表行数非0校验,并通过关联调度节点的方式,触发该表数据质量规则执行。

1、配置分区表达式

数据质量通过分区表达式来确定数据质量校验的表分区数据。

此步骤中,您需要监控ods_raw_log_d表的dt=$[yyyymmdd-1]表达式所匹配的分区数据是否符合预期,即在ods_raw_log_d表每次监控规则执行时,监控其业务时间对应分区的数据是否符合数据质量校验规则。步骤如下:

image.png

  1. 在表的监控规则配置页面,单击分区表达式后的image.png,进入添加分区页面。

  2. 在添加分区对话框中,选择分区表达式dt=$[yyyymmdd-1]

  3. 单击计算,查看计算结果是否符合预期,确认无误后单击确定

本案例希望监控每日调度任务产出的表数据是否符合预期,由于当前表每日产出业务时间是昨天的数据,所以此处计算结果显示调度时间为今天,计算结果为昨天时,符合预期。

2、配置监控规则

表ods_raw_log_d用于接收从OSS同步过来的网站访问记录,为用户画像分析场景源头表,所以为避免后续无效加工及质量问题,我们针对该表配置表行数大于0的强监控规则,来判断同步任务是否往该表该分区写入数据。

当监控到ods_raw_log_d表对应分区行数为0,将触发告警,ods_raw_log_d节点失败退出,并阻塞ods_raw_log_d节点的下游任务执行。

image.png

  1. 单击创建规则,进入创建规则页面。

  2. 单击添加监控规则,配置如下参数,并单击批量添加。

    • 规则名称:自定义该监控规则名称,本案例为表行数是否大于0。

    • 强弱:根据业务影响程度定义该规则是否阻塞下游任务执行。

      本案例规则定义为,即当监控到ods_raw_log_d表行数为0时,触发告警,并且阻塞下游任务执行。

    • 更多配置项介绍请参见配置规则:按表(单表)

3、试跑质量规则

试跑可校验规则配置的合理性,为确保质量规则的配置无误且符合预期,您可在规则创建完成后,试跑该规则。

image.png

  1. 单击试跑,进入试跑对话框。

  2. 试跑对话框中,选择调度时间,单击试跑

  3. 试跑完成后,可根据界面指引查看试跑结果。

4、规则关联调度节点

数据质量通过关联调度的方式及时感知源端数据的变更与ETL(Extract Transformation Load)中产生的脏数据,即通过关联调度节点触发数据质量校验规则执行。

本案例中,当ods_raw_log_d节点将OSS数据同步至ods_raw_log_d表后即对该表对应分区数据进行表行数非0校验,若校验不通过,阻断下游任务执行,及时阻塞脏数据蔓延。

image.png

  1. 在数据质量规则配置页面,单击关联调度,进入关联调度配置页面。

  2. 在关联调度页面输入框中,输入ods_raw_log_d,单击添加,即可通过ods_raw_log_d节点来触发ods_raw_log_d表的数据质量规则校验。

5、订阅规则校验结果

数据质量为您提供监控报警功能,通过订阅表数据质量校验规则,及时接收质量校验异常并处理,保障数据安全、稳定、按时产出。

image.png

订阅管理设置完成后,在左侧导航栏,单击我的订阅,查看和修改已订阅的任务。

配置ods_user_info_d质量监控规则

表ods_user_info_d用于接收从RDS MySQL同步过来的用户基本信息,基于该表业务属性,我们分别为其配置表行数非0业务主键唯一性校验,并通过关联调度节点的方式,触发该表数据质量规则执行。以下仅为该表关键步骤说明。

1、配置分区表达式

此步骤中,找到目标表ods_user_info_d,并为其配置所需分区表达式dt=$[yyyymmdd-1],即ods_user_info_d每次监控规则执行时,监控其业务时间对应分区的数据是否符合数据质量校验规则。

image.png

2、创建监控规则

本案例中,表ods_user_info_d用于接收从RDS同步过来的网站访问记录,为用户画像分析场景源头表,所以为避免后续无效加工及质量问题,我们针对该表配置表行数大于0的强监控规则,来判断同步是否往该表该分区写入数据。

规则生效时,当监控到ods_user_info_d表对应分区行数为0,将触发告警,ods_user_info_d节点失败退出,并且阻塞ods_user_info_d节点下游任务执行。参考下图创建规则,更多配置项介绍请参见配置规则:按表(单表)

  • 表的行数非0校验(强规则)

    image.png

  • 主键唯一性校验(弱规则)

    image.png

3、规则关联调度节点

数据质量通过关联调度的方式及时感知源端数据的变更与ETL(Extract Transformation Load)中产生的脏数据,即通过关联调度节点触发数据质量校验规则执行。

本案例中,当ods_user_info_d节点将RDS数据同步至ods_user_info_d表后即对该表对应分区数据进行表行数非0校验,若校验不通过,阻断下游任务执行,及时阻塞脏数据蔓延。

image.png

4、其他

试跑规则及订阅规则校验结果操作与配置ods_raw_log_d质量监控规则一致。

配置ads_user_info_1d质量监控规则

表ads_user_info_1d为最终结果表。根据该表业务属性,我们进行表行数波动监测,以及针对业务主键唯一值校验,以此观察每日UV的波动,及时了解线上流量波动,并通过关联调度节点的方式,触发该表数据质量规则执行。以下仅为该表关键步骤说明。

1、配置分区表达式

此步骤中,找到目标表ads_user_info_1d,并为其配置所需分区表达式dt=$[yyyymmdd-1],即ads_user_info_1d表每次监控规则执行时,监控其业务时间对应分区的数据是否符合数据质量校验规则,并通过关联调度节点的方式,触发该表数据质量规则执行。

image.png

2、创建监控规则

表ads_user_info_1d用于用户画像分析,为检测每日UV波动,我们对汇总数据进行表行数波动监测及主键进行唯一值校验,以此观察每日UV的波动,及时了解线上流量波动。

规则生效时,当监控到ads_user_info_1d表对应主键不唯一时触发报警,当表行数7天波动率大于10%小于50%时,触发橙色异常报警;当表行数7天波动率大于50%时触发红色异常报警。

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

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

配置表行数波动监控(弱规则)

image.png

3、规则关联调度节点

数据质量通过关联调度的方式及时感知源端数据的变更与ETL(Extract Transformation Load)中产生的脏数据,即通过关联调度节点触发数据质量校验规则执行。

本案例中,对加工后的ads_user_info_1d表对应分区数据进行校验,若校验不通过,阻断下游任务执行,及时阻塞脏数据蔓延。

image.png

4、其他

试跑规则及订阅规则校验结果操作与配置ods_raw_log_d质量监控规则一致。

后续操作

数据加工完成后,您可通过数据分析模块对数据进行可视化展示,详情请参见数据可视化展现

  • 本页导读 (1)
文档反馈