监控规则是数据质量(DQC)的核心。数据质量支持EMR(E-MapReduce)、Hologres、AnalyticDB for PostgreSQL、MaxCompute、CDH Hive监控,本文为您介绍如何配置MaxCompute监控。
新增MaxCompute数据源
进入数据源页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的管理中心,在下拉框中选择对应工作空间后单击进入管理中心。
进入工作空间管理中心页面后,单击左侧导航栏的数据源,进入数据源页面。
单击右上方的新增数据源添加MaxCompute数据源,详情请参见配置MaxCompute数据源。
选择数据源
单击当前页面左上方的图标,选择 。
在左侧导航栏,单击 。
选择引擎/数据源为MaxCompute,显示当前数据源下所有的表。
您也可以输入目标表名(支持表名首字母模糊搜索),查找对应的表。
单击相应表后的配置监控规则。
配置分区表达式
数据质量通过分区表达式来确定需要配置的规则:
如果您的检查对象为非分区表,可以配置分区表达式为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为例,为您介绍推荐的分区表达式。
在添加分区对话框中,单击输入表达式的窗口,会显示数据质量为您推荐的分区表达式:
如果有符合预期的表达式,单击该行,会自动同步至输出窗口。
如果没有满足需求的分区表达式,您可以根据需求自己输入。
输入分区表达式后,单击计算。数据质量会按照当前时间(调度时间)计算出分区表达式的计算结果,以便验证分区表达式的正确性。
单击确认。
如果您有不需要的分区表达式,可以单击相应分区表达式后的删除。如果该分区表达式已经配置有规则,删除时会删除该表达式下的所有规则。
配置关联调度
如果您需要在生产链路上监控离线数据质量,需要将数据质量规则与产出表数据的调度节点进行关联:
产出表数据的调度节点必须发布后才可以关联调度。
关联前,请确保您在关联的两个工作空间中,同时拥有管理员、开发或运维中至少一个角色。
数据质量的关联调度可以关联单个或多个节点任务,关联调度完成后,离线数据质量监控任务可以自动运行。
数据质量的关联可以灵活配置,您关联的任务并非一定与您的表有关系。
在相应表的监控规则页面,单击关联调度,配置规则与任务的绑定关系。
在关联调度对话框中,输入您需要关联的任务节点名称。
单击添加。
创建规则
创建规则是数据质量模块的核心内容,您可以根据表的实际需要创建规则。
目前创建规则的方式包括模板规则和自定义规则,您可以根据自身需求选择相应方式。两种规则又分为添加监控规则和快捷添加两部分,详情请参见配置规则:按表(单表)。
创建完成后单击批量保存,即可将创建的所有规则保存到已建好的分区表达式。
添加方式 | 参数 | 描述 |
添加监控规则 | 规则名称 | 输入规则名称。 |
强弱 | 配置规则的强弱:
| |
动态阈值 | 您无需手动设置阈值,系统会自动根据算法模型实时检测指标的正确性。如果超出合理的波动范围,便进行报警。 重要 您需要购买DataWorks企业版及以上版本,才可以使用动态阈值功能。 | |
规则来源 | 包括内置模板和规则模板库。 | |
规则字段 | 包括表级规则和字段级规则。字段级规则可以针对表中的具体字段配置监控规则。 说明 此处选择为表级规则,页面中的其它设置项对应为表级规则配置项。 | |
规则模板 |
| |
比较方式 | 包括绝对值、上升和下降三种类型。 | |
波动值比较 | 设置波动值的橙色阈值和红色阈值。您可以通过拖动进度条来设置,也可以直接输入阈值。 | |
描述 | 对配置的规则进行简单描述。 | |
快捷添加 | 规则名称 | 输入规则名称。 |
规则字段 | 包括表级规则和字段级规则。字段级规则可以针对表中具体字段进行配置监控规则。 | |
快捷规则 |
|
试跑规则
成功配置规则后,您可以针对某个分区表达式下的所有规则进行试跑,并查看试跑的校验结果。
通过试跑,您可以测试规则配置的正确性、测试订阅发送渠道。试跑是手动运行监控规则的一种方式,您可以根据自身需求选择是否进行试跑。
在相应表的监控规则页面,单击试跑。
在试跑对话框中,选择调度日期。
参数
描述
试跑分区
实际分区会随着业务日期变化而改变。如果为NOTAPARTITIONTABLE,则会自动添加实际分区。
调度时间
选择需要试跑的调度日期,默认为当前时间。
单击试跑。
单击试跑成功,点击查看试跑结果,进入任务查询页面,查看校验结果。详情请参见查看监控任务。
进行订阅管理
订阅管理默认通知创建者,如果想通知其它用户,您可以手动添加。
在相应表的监控规则页面,单击订阅管理。
在订阅管理对话框中,选择相应的订阅方式。
订阅方式包括邮件通知、邮件和短信通知、钉钉群机器人、钉钉群机器人@ALL、飞书群机器人、企业微信机器人和自定义Webhook。
说明添加钉钉群、飞书群和企业微信机器人获取Webhook地址后,复制Webhook地址至订阅管理中即可。
仅DataWorks企业版版本支持使用自定义Webhook方式,DataWorks推送自定义Webhook的报警信息的消息格式请参见:附录:Webhook消息格式。
单击保存。
查看分区操作日志
在相应表的监控规则页面,单击分区操作日志。您可以在操作日志对话框中查看操作人、操作时间和操作内容。
操作内容显示当前分区表达式设置的所有规则。
查看上一次校检结果
在相应表的监控规则页面,单击上一次校检结果,进入任务查询页面。您可以查看当前分区表达式下的运行结果情况和历史结果。
复制规则
在相应表的监控规则页面,单击复制规则。
在复制规则对话框中,选择目标表达式。
根据自身需求选中同步订阅人或替换自定义SQL规则中的表名。
单击执行复制。