监控规则是数据质量(DQC)的核心,数据质量支持EMR、ODPS和DataHub监控,本文为您介绍如何配置ODPS监控。

新增ODPS数据源

  1. 登录DataWorks控制台
  2. 在左侧导航栏,单击工作空间列表
  3. 单击相应工作空间后的进入数据集成
  4. 在左侧导航栏,单击数据源,进入工作空间管理 > 数据源管理
  5. 单击右上角的新增数据源添加ODPS数据源,详情请参见配置ODPS数据源

选择数据源

  1. 单击当前页面左上角的图标图标,选择全部产品 > 数据质量
  2. 在左侧导航栏,单击监控规则
  3. 选择引擎/数据源ODPS,显示当前数据源下所有的表。
    您也可以输入目标表名(支持表名首字母模糊搜索),找到对应的表。
  4. 单击相应表后的配置监控规则

配置分区表达式

数据质量通过分区表达式来确定需要配置的规则:
  • 如果您的检查对象为非分区表,可以配置分区表达式为NOTAPARTITIONTABLE
  • 如果您的检查对象为分区表,可以配置为业务日期的表达式(例如$[yyyymmdd]),也可以配置为正则表达式。
在数据表的监控规则页面,单击分区表达式后的+,添加分区表达式。添加分区表达式
您可以选择新建分区表达式,也可以选择推荐的分区表达式:
  • 新建分区的表达式
    添加分区对话框中,您可以根据自身需求编辑符合语法的分区表达式。非分区表可以直接选择推荐的分区表达式中的NOTAPARTITIONTABLE
    • 一级分区的表达式格式:分区名=分区值,分区值可以是固定值,也可以是内置参数表达式。分区表必须配置到最后一级分区。
    • 多级分区表达式格式:1级分区名=分区值/2级分区名=分区值/N级分区名=分区值,分区值可以是固定值,也可以是内置参数表达式。参数必须使用中括号表示,例如$[yyyymmdd-N]
    分区表达式周期由配置的业务日期决定,例如配置运行时间为前5天,则周期为每5天调度一次。支持的分区表达式如下表所示。
    分区表达式 描述
    dt=$[yyyymmdd-N] 代表前N天
    dt=$[yyyymm01-1] 代表每月1日
    dt=$[yyyymm01-Nm] 代表N月前1日
    dt=$[yyyymmld-1] 代表每月最后一天
    dt=$[yyyymmld-1m] 代表N月前最后一天
    dt=$[hh24miss-1/24] 代表一个小时前
    dt=$[hh24miss-30/24/60] 代表半个小时前
    $[yyyymmdd] 调度日期
    $[yyyymmdd-1] 格式为yyyymmddmiss-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. 试跑对话框中,选择调度日期
    参数 描述
    试跑分区 实际分区会随着业务日期变化而改变。如果为NOPARTITIONTABLE,则会自动添加实际分区。
    调度时间 选择需要试跑的调度日期,默认为当前时间。
  3. 单击试跑
  4. 单击试跑成功,点击查看试跑结果,进入任务查询页面,查看校验结果。详情请参见查询任务

进行订阅管理

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

  1. 在相应表的监控规则页面,单击订阅管理
  2. 订阅管理对话框中,选择相应的订阅方式
    订阅方式包括邮件通知邮件和短信通知钉钉群机器人钉钉群机器人@ALL
    说明 添加钉钉群机器人获取Webhook地址后,复制Webhook地址至订阅管理中即可。
  3. 单击保存

查看分区操作日志

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

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

查看上一次校检结果

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

复制规则

  1. 在相应表的监控规则页面,单击复制规则
  2. 复制规则对话框中,选择目标表达式
  3. 根据自身需求选中同步订阅人替换自定义SQL规则中的表名
  4. 单击执行复制