配置示例:MaxCompute

监控规则是数据质量(DQC)的核心。数据质量支持EMR(E-MapReduce)、Hologres、AnalyticDB for PostgreSQL、MaxCompute、CDH Hive监控,本文为您介绍如何配置MaxCompute监控。

新增MaxCompute数据源

  1. 进入数据源页面。

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的管理中心,在下拉框中选择对应工作空间后单击进入管理中心

    2. 进入工作空间管理中心页面后,单击左侧导航栏的数据源,进入数据源页面。

  2. 单击右上方的新增数据源添加MaxCompute数据源,详情请参见配置MaxCompute数据源

选择数据源

  1. 单击当前页面左上方的图标图标,选择全部产品 > 数据治理 > 数据质量

  2. 在左侧导航栏,单击规则管理 > 按表配置

  3. 选择引擎/数据源MaxCompute,显示当前数据源下所有的表。

    您也可以输入目标表名(支持表名首字母模糊搜索),查找对应的表。

  4. 单击相应表后的配置监控规则

配置分区表达式

数据质量通过分区表达式来确定需要配置的规则:

  • 如果您的检查对象为非分区表,可以配置分区表达式为NOTAPARTITIONTABLE

  • 如果您的检查对象为分区表,可以配置为业务日期的表达式(例如$[yyyymmdd-1])。

说明

数据质量规则中,分区表达式不支持使用大括号相关格式。例如,${yyyymmdd-1}。

在数据表的监控规则页面,单击分区表达式后的+,添加分区表达式。添加分区表达式

您可以选择新建分区表达式,也可以选择推荐的分区表达式:

  • 新建分区的表达式

    添加分区对话框中,您可以根据自身需求编辑符合语法的分区表达式。非分区表可以直接选择推荐的分区表达式中的NOTAPARTITIONTABLE

    • 一级分区的表达式格式:分区名=分区值,分区值可以是固定值,也可以是内置参数表达式。分区表必须配置到最后一级分区。

    • 多级分区表达式格式:1级分区名=分区值/2级分区名=分区值/N级分区名=分区值,分区值可以是固定值,也可以是内置参数表达式。参数必须使用中括号表示,例如$[yyyymmdd-N]

    分区表达式周期由配置的业务日期决定,例如配置运行时间为前5天,则周期为每5天调度一次。支持的分区表达式如下表所示。

    分区表达式

    描述

    dt=$[yyyymmdd-N]

    代表前N天

    dt=$[hh24miss-1/24]

    代表一个小时前

    dt=$[hh24miss-30/24/60]

    代表半个小时前

    dt=$[add_months(yyyymmdd,-1)]

    代表获取上个月今天的日期。精确到天。

    $[yyyymmdd]

    调度日期

    $[yyyymmdd-1]

    代表获取业务日期。

    $[yyyymmddhh24miss]

    格式为yyyymmddhh24miss,当前实例运行的业务日期:

    • yyyy表示4位数年份

    • mm表示2位数月份

    • dd表示2位数天

    • hh24表示24小时制的时

    • mi表示2位数分钟

    • ss表示2位数秒

    NOTAPARTITIONTABLE

    非分区表可以选择该分区表达式

  • 推荐的分区表达式

    下文将以分区名dt为例,为您介绍推荐的分区表达式。

    1. 添加分区对话框中,单击输入表达式的窗口,会显示数据质量为您推荐的分区表达式:

      • 如果有符合预期的表达式,单击该行,会自动同步至输出窗口。

      • 如果没有满足需求的分区表达式,您可以根据需求自己输入。

    2. 输入分区表达式后,单击计算。数据质量会按照当前时间(调度时间)计算出分区表达式的计算结果,以便验证分区表达式的正确性。计算

    3. 单击确认

如果您有不需要的分区表达式,可以单击相应分区表达式后的删除。如果该分区表达式已经配置有规则,删除时会删除该表达式下的所有规则。

配置关联调度

如果您需要在生产链路上监控离线数据质量,需要将数据质量规则与产出表数据的调度节点进行关联:

  • 产出表数据的调度节点必须发布后才可以关联调度。

  • 关联前,请确保您在关联的两个工作空间中,同时拥有管理员开发运维中至少一个角色。

数据质量的关联调度可以关联单个或多个节点任务,关联调度完成后,离线数据质量监控任务可以自动运行。

说明

数据质量的关联可以灵活配置,您关联的任务并非一定与您的表有关系。

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

    关联调度

  2. 关联调度对话框中,输入您需要关联的任务节点名称。

    配置质量监控

  3. 单击添加

创建规则

创建规则是数据质量模块的核心内容,您可以根据表的实际需要创建规则。

目前创建规则的方式包括模板规则自定义规则,您可以根据自身需求选择相应方式。两种规则又分为添加监控规则快捷添加两部分,详情请参见配置规则:按表(单表)

创建完成后单击批量保存,即可将创建的所有规则保存到已建好的分区表达式。

添加方式

参数

描述

添加监控规则

规则名称

输入规则名称。

强弱

配置规则的强弱:

  • 勾选时,如果触发红色阈值,则报警且任务置为失败状态。如果触发橙色阈值,则报警且任务置为成功状态。

  • 勾选时,如果触发红色阈值,则报警且任务置为成功状态。如果触发橙色阈值,则不报警且任务置为成功状态。

动态阈值

您无需手动设置阈值,系统会自动根据算法模型实时检测指标的正确性。如果超出合理的波动范围,便进行报警。

重要

您需要购买DataWorks企业版及以上版本,才可以使用动态阈值功能。

规则来源

包括内置模板规则模板库

规则字段

包括表级规则字段级规则。字段级规则可以针对表中的具体字段配置监控规则。

说明

此处选择为表级规则,页面中的其它设置项对应为表级规则配置项。

规则模板

  • 如果您选择规则来源内置模板,为您展示系统内置的表级监控规则。

  • 如果您选择规则来源规则模板库,需要设置采样方式Set Flag等参数,详情请参见创建并管理自定义规则模板

比较方式

包括绝对值上升下降三种类型。

波动值比较

设置波动值的橙色阈值和红色阈值。您可以通过拖动进度条来设置,也可以直接输入阈值。

描述

对配置的规则进行简单描述。

快捷添加

规则名称

输入规则名称。

规则字段

包括表级规则和字段级规则。字段级规则可以针对表中具体字段进行配置监控规则。

快捷规则

  • 选择表级规则,快捷规则支持表行数大于0表行数动态阈值

    重要

    您需要购买DataWorks企业版及以上版本,才可以使用动态阈值功能。

  • 选择字段级规则,快捷规则可以选择字段重复值字段空值唯一值动态阈值

    重要

    您需要购买DataWorks企业版及以上版本,才可以使用动态阈值功能。

试跑规则

成功配置规则后,您可以针对某个分区表达式下的所有规则进行试跑,并查看试跑的校验结果。

说明

通过试跑,您可以测试规则配置的正确性、测试订阅发送渠道。试跑是手动运行监控规则的一种方式,您可以根据自身需求选择是否进行试跑。

  1. 在相应表的监控规则页面,单击试跑

  2. 试跑对话框中,选择调度日期

    参数

    描述

    试跑分区

    实际分区会随着业务日期变化而改变。如果为NOTAPARTITIONTABLE,则会自动添加实际分区。

    调度时间

    选择需要试跑的调度日期,默认为当前时间。

  3. 单击试跑

  4. 单击试跑成功,点击查看试跑结果,进入任务查询页面,查看校验结果。详情请参见查看监控任务

进行订阅管理

订阅管理默认通知创建者,如果想通知其它用户,您可以手动添加。

  1. 在相应表的监控规则页面,单击订阅管理

  2. 订阅管理对话框中,选择相应的订阅方式

    订阅方式包括邮件通知邮件和短信通知钉钉群机器人钉钉群机器人@ALL飞书群机器人企业微信机器人自定义Webhook

    说明
    • 添加钉钉群、飞书群和企业微信机器人获取Webhook地址后,复制Webhook地址至订阅管理中即可。

    • 仅DataWorks企业版版本支持使用自定义Webhook方式,DataWorks推送自定义Webhook的报警信息的消息格式请参见:附录:Webhook消息格式

  3. 单击保存

查看分区操作日志

在相应表的监控规则页面,单击分区操作日志。您可以在操作日志对话框中查看操作人操作时间操作内容

操作内容显示当前分区表达式设置的所有规则。

查看上一次校检结果

在相应表的监控规则页面,单击上一次校检结果,进入任务查询页面。您可以查看当前分区表达式下的运行结果情况和历史结果。

复制规则

  1. 在相应表的监控规则页面,单击复制规则

  2. 复制规则对话框中,选择目标表达式

  3. 根据自身需求选中同步订阅人替换自定义SQL规则中的表名

  4. 单击执行复制