DataWorks的数据质量监控节点可通过配置数据质量监控规则,监控相关数据源表的数据质量(例如,是否存在脏数据)。同时,支持您自定义调度策略,周期性执行监控任务进行数据校验。本文为您介绍如何使用数据质量监控节点进行任务监控。
背景信息
DataWorks的数据质量功能,帮助您感知源端数据的变更与ETL(Extract Transformation Load)中产生的脏数据,自动拦截问题任务,有效阻断脏数据向下游蔓延。避免任务产出不符合预期的问题数据,影响正常使用和业务决策。同时也能显著降低问题处理的时间成本,避免任务重新运行带来的资源费用浪费,详情请参见数据质量。
使用限制
支持监控的表类型:MaxCompute、E-MapReduce、Hologres、CDH Hive、AnalyticDB PostgreSQL、AnalyticDB MySQL、StarRocks。
支持监控的表范围:
支持执行的操作限制:
支持的地域:
华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、日本(东京)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)。
前提条件
已创建业务流程。
数据开发(DataStudio)基于业务流程执行不同数据源的具体开发操作,因此,创建节点前需先创建业务流程,操作详情请参见创建业务流程。
已创建数据源并绑定至当前工作空间,且该数据源中已创建待监控表。
执行数据质量监控任务前,您需先创建监控节点所要监控的数据源表,详情请参见创建并管理数据源、绑定数据源或集群、任务开发。
已创建资源组。
仅支持使用Serverless资源组运行数据质量监控节点。详情请参见资源组管理。
(可选,RAM账号需要)进行任务开发的RAM账号已被添加至对应工作空间中,并具有开发或空间管理员(权限较大,谨慎添加)角色权限。添加成员并授权,详情请参见为工作空间添加空间成员。
步骤一:创建数据质量监控节点
进入数据开发页面。
右键单击目标业务流程,选择。
在新建节点对话框输入节点名称,单击确认,节点创建完成,您可在节点中进行对应任务的开发与配置。
步骤二:配置数据质量监控规则
1、选择待监控表
单击选择表,在选择表对话框根据条件搜索并选择需要监控的目标表。
3、配置数据质量监控规则
您可新建规则,也可导入已有规则使用。配置的规则默认为启用状态。
新建规则
单击新建规则,即可基于模板或自定义SQL创建数据质量监控规则,不同方式的介绍及配置详情如下。
方式一:基于系统模板创建
平台内置多种监控规则,您可基于规则模板快速创建数据质量监控规则,操作步骤如下图。
说明 您也可在左侧系统模板列表,找到所需规则模板,单击+使用进行创建。
系统规则模板参数说明
参数 | 描述 |
规则名称 | 您可以自定义规则名称。 |
规则模板 | 定义需要对表进行哪种类型规则校验。 数据质量为您提供大量内置表级别、字段级别的监控模板可直接选择。详情请参见查看内置规则模板。
说明 平均值、汇总值、最小值和最大值仅对数值型字段生效。 |
规则范围 | 该规则应用的范围,表级别规则默认为当前表,字段级别规则选择具体字段。 |
比较方式 | |
监控阈值 | |
保留问题数据 | 当规则为启用状态时,在本条数据质量监控规则校验不通过的情况下,系统自动创建问题数据表存储质量规则校验过程中发现的问题数据。详情请参见:管理问题数据。
重要 目前仅支持MaxCompute表配置保留问题数据功能。 目前仅部分数据质量监控规则支持配置保留问题数据功能。支持保存问题数据的规则,详情请参见:附录:支持保留问题数据的规则列表与问题数据口径。 受启停状态影响,若规则为停用状态,则不执行保留问题数据。
|
启用状态 | 规则的启用和停用状态,用于控制该规则是否在生产环境中运行。
重要 状态设置为停用时,规则将无法触发测试运行,并且不会被关联的调度任务触发运行。 |
重要程度 | |
描述 | 您可以对该规则进行补充说明。 |
方式二:基于自定义模板创建
使用该方式之前,您需先前往创建自定义规则模板,才可基于该模板创建数据质量监控规则,详情请参见创建并管理自定义规则模板。
基于自定义模板创建数据质量规则的操作步骤如下图。
说明 您也可在左侧自定义模板列表,找到所需规则模板,单击+使用进行创建。
自定义规则模板参数说明
此处仅展示自定义规则模板独有参数,其他参数解释,请参见系统规则模板参数说明。
配置项 | 说明 |
FLAG参数 | 用于定义需要在数据质量校验SQL执行前提前执行的SET命令。 |
SQL | 定义完整的SQL校验逻辑,要求返回结果为一行一列,且结果为数值型。 自定义SQL中,请使用中括号的形式匹配表的分区表达式。示例如下: select count(*) from ${tableName} where ds=$[yyyymmdd];
说明 ${tableName} 变量取值将根据实际监控的表动态替换。
配置分区表达式,详情请参见附录二:内置分区表达式。 如果您为表创建了质量监控,则通过此方式配置规则后,质量监控中设置的数据范围将不会生效。规则将以此处SQL语句中的WHERE为准,确认需要校验的表分区。
|
方式三:基于自定义SQL创建
该方式支持您自定义表的数据质量校验逻辑。
自定义SQL参数说明
此处仅展示自定义SQL独有参数,其他参数解释,请参见系统规则模板参数说明。
配置项 | 说明 |
FLAG参数 | 用于定义需要在数据质量校验SQL执行前提前执行的SET命令。 |
SQL | 定义完整的SQL校验逻辑,要求返回结果为一行一列,且结果为数值型。 自定义SQL中,请使用中括号的形式匹配表的分区表达式。示例如下: select count(*) from <table_name> where ds=$[yyyymmdd];
说明 您需要在实际配置中将<table_name> 替换为当前实际操作的表名,实际监控的表由此处SQL决定。 配置分区表达式,详情请参见附录二:内置分区表达式。 如果您为表创建了质量监控,则通过此方式配置规则后,质量监控中设置的数据范围将不会生效。规则将以此处SQL语句中的WHERE为准,确认需要校验的表分区。
|
导入已有规则
若待监控表在数据质量功能模块已创建相关监控规则,您可通过导入方式快速克隆相应规则;若未创建,请先前往数据质量创建,详情请参见配置规则:按表(单表)。
说明 该方式支持批量导入多个规则,支持对表字段级别数据配置监控规则。
单击导入规则,您可通过规则ID/名称、规则模板、关联范围(即全表或表的某些字段)搜索并选择需导入的规则。
说明 数据质量监控节点中创建的质量监控规则,在发布该节点后可进入数据质量模块查看规则详情,但不允许执行修改、删除等管理操作。
4、配置运行资源
用于选择执行质量规则检测所需的运行资源(即在哪个数据源中运行质量规则监控任务),默认为待监控表所在的数据源。
说明 如选择其他数据源,需确认数据源是否拥有该表的访问权限。
步骤三:配置检测结果处理策略
在节点编辑页面的质量监控处置区域,您可针对数据质量监控规则校验的异常结果配置处理策略及订阅方式。
异常结果类别
校验异常结果类别如下。
异常结果类别 | 说明 |
强规则 · 校验失败 | 强弱:表示规则的重要程度。 红色异常:数据校验指标结果命中红色质量异常阈值范围。通常是该质量异常阈值范围的定义为“数据校验不符合预期,会严重影响后续业务运行”。 橙色异常:数据校验指标结果命中橙色质量异常阈值范围。通常是该质量异常阈值范围的定义为“数据校验存在异常,但不影响后续业务运行”。 校验失败:校验任务运行失败。例如:监控的分区未产出,或用户用于监控的SQL运行失败。
|
强规则 · 红色异常 |
强规则 · 橙色异常 |
弱规则 · 校验失败 |
弱规则 · 红色异常 |
弱规则 · 橙色异常 |
异常结果处理策略
对于规则校验产生的异常结果,您可按需配置处理策略:
异常结果订阅方式
您可配置异常结果的接收方式(例如,邮件通知),当产生异常结果时,平台会以相应方式推送异常信息,以便您及时发现并处理异常。
说明 平台支持多种接收方式,具体请以实际界面为准。其中:
步骤四:配置任务调度
如您需要周期性执行创建的节点任务,可单击节点编辑页面右侧的调度配置,根据业务需求配置该节点任务的调度信息。配置详情请参见任务调度属性配置概述。
说明 您需要设置节点的重跑属性和依赖的上游节点,才可以提交节点。
步骤五:调试任务
您可根据需要执行如下调试操作,查看任务是否符合预期。
(可选)选择运行资源组、赋值自定义参数取值。
保存并运行任务。
单击工具栏的图标,保存任务;单击图标,运行任务。
任务运行完成后,您可在节点编辑界面下方查看运行结果。若运行失败,可根据相应报错进行排查处理。
(可选)冒烟测试。
如您希望在开发环境进行冒烟测试,查看调度节点任务的执行是否符合预期,则可在节点提交时,或节点提交后执行冒烟测试,操作详情请参见执行冒烟测试。
步骤六:提交发布任务
节点任务配置完成后,需执行提交发布操作,提交发布后节点将根据调度配置内容进行周期性运行。
说明 执行提交发布操作后,当前数据质量监控节点及节点内配置的质量规则均会被提交发布。
单击工具栏中的图标,保存节点。
单击工具栏中的图标,提交节点任务。
提交时需在提交对话框中输入变更描述,并根据需要选择是否在节点提交后执行代码评审。
如您使用的是标准模式的工作空间,任务提交成功后,需单击节点编辑页面右上方的发布,将该任务发布至生产环境执行,操作请参见发布任务。