质量作业可将创建的规则应用到建好的表中进行质量监控。
前提条件
在DataArts Studio控制台数据质量模块,“数据质量监控 > 质量作业”页面创建归属目录。基于某个数据连接创建质量作业,需要选择作业归属目录,请参见下图创建归属目录。
新建质量作业的归属目录
下表是导航栏按键说明
序号 | 说明 |
---|---|
1 | 新建目录。 |
2 | 刷新目录。 |
3 | 选择目录,单击右键,可新建目录、删除目录和对目录重命名。 |
配置流程
- 在DataArts Studio控制台首页,选择实例,点击“进入控制台”,选择对应工作空间的“数据质量”模块,进入数据质量页面。
详见下图:选择数据质量
- 选择“数据质量监控 > 质量作业”。
- 单击“新建”,在弹出的对话框中,参见下表配置相关参数。
序号 | 说明 |
---|---|
1 | 新建目录。 |
2 | 刷新目录。 |
3 | 选择目录,单击右键,可新建目录、删除目录和对目录重命名。 |
- 单击“下一步”,进入规则配置页面。您需要点击规则卡片中的,然后参见下表配置数据质量规则。默认规则配置完成后,您也可选择继续添加更多的质量规则,创建完成后单击下一步,即可将创建的所有规则应用到已建好的库或表中。
详见下图:打开质量作业规则配置
下表是配置模板规则
添加方式 | 配置 | 说明 |
---|---|---|
基本信息 | 子作业名称 | 在作业的执行结果中,每条规则对应一个子作业。为便于结果查看和日志定位,建议您补充子作业信息。 |
基本信息 | 描述 | 为更好的识别子作业,此处加以描述信息。 |
来源对象 | 规则类型 | 包括库级规则、表级规则、字段级规则、跨字段级规则和自定义规则,自定义规则可针对表中的具体字段配置监控规则。 |
来源对象 | 数据连接 | 来源对象/目的对象支持的数据源类型:DWS,MRS Hive,DLI,ORACLE、RDS(MySQL、PostgreSQL)。 从下拉列表中选择已创建的数据连接。 说明 规则都是基于数据连接的,所以在建立数据质量规则之前需要先到管理中心模块中建立数据连接。 针对通过代理连接的MRS HIVE,需要选择MRS API方式或者代理方式提交: MRS API方式:通过MRS API的方式提交。历史作业默认是MRS API提交,编辑作业时建议不修改。 代理方式:通过用户名、密码访问的方式提交。新建作业建议选择代理提交,可以避免权限问题导致的作业提交失败。 |
来源对象 | 数据库 | 选择配置的数据质量规则所应用到的数据库。 说明 数据库基于已建立的数据连接。 当“规则类型”选择“库级规则”,数据对象选择对应的数据库即可。 |
来源对象来源对象 | 数据表 | 选择配置的数据质量规则所应用到的表。 说明 数据表与数据库强相关,基于已选择的数据库。 当“规则类型”选择“表级规则”,数据对象选择对应的数据表。 |
来源对象 | SQL | 当“规则类型”选择“自定义规则”时,需要配置该参数。此处需输入完整的SQL语句,定义如何对数据对象进行数据质量监控。 |
来源对象 | 失败策略 | 选择是否勾选“忽略规则错误”。 |
来源对象 | 选择字段 | 当“规则类型”选择“字段级规则”,需要配置该参数。此处选择对应数据表中的字段。 说明 数据质量字段级别校验不支持对字段名为单个字母(例如:a,b,c,d...等)的字段进行校验。 |
来源对象 | 参考数据对象 | 当“规则类型”选择“跨字段级规则”,需要配置该参数。此处选择参考的数据字段。 |
来源对象 | 维度 | 当“规则类型”选择“自定义规则”时,需要配置该参数。将该自定义规则与质量六性(完整性、有效性、及时性、一致性、准确性、唯一性)进行关联。 |
计算引擎 | 集群名称 | 选择运行质量作业的引擎。仅数据连接为DLI类型时,此参数有效。 |
规则模板 | 模板名称 | 选择系统内置的或者用户自定义的规则模板。 说明 模板类型与规则类型强相关,详情请参见新建规则模板章节中的 系统内置的规则模板一览表。除去系统内置规则模板外,您也可关联在新建规则模板中新建的自定义模板。 |
规则模板 | 版本 | 仅“模板名称”选择为自定义的规则模板时,需要配置该参数。自定义的规则模板发布后,会产生对应的版本号,此处选择所需的版本。 |
规则模板 | 权重 | 设置规则的权重,支持按照字段级别设置权重。权重范围:【1-9】,整数。默认值为5。 |
计算范围 | 选择扫描区域 | 支持选择“全表扫描”或“条件扫描”,默认为全表扫描。 当仅需计算一部分数据,或需周期性按时间戳运行质量作业时,建议通过设置where条件进行条件扫描。 |
计算范围 | where条件 | 输入where子句,系统会选择符合条件的数据进行扫描。 例如需要筛选数据表中“age”字段在(18, 60]区间范围内的数据时,where条件可设置为如下内容: age > 18 and age <= 60 where条件还支持输入为SQL动态表达式,例如当需要根据“time”字段筛选数据表中24小时前的数据时,where条件可设置为如下内容: time >= (date_trunc('hour', now()) - interval '24 h') and time <= (date_trunc('hour', now())) |
告警条件 | 告警表达式 | 此参数可选,如果您需要针对当前规则设定告警条件,则可以在此配置告警条件的表达式。如果您需要通过多条规则的逻辑运算统一设置告警条件的表达式,此处无需设置,可在下一步的告警配置中统一设置。 配置规则的告警条件后,系统通过“告警参数”的值,结合告警条件进行真假判断,如果结果为真则进行告警。另外,除了单一告警表达式的结果,您还可以通过逻辑运算符组成组成更复杂的告警条件进行告警。当前表达式中支持如下逻辑运算符,且可以通过“(”和“)”进行包围: +:相加 -:相减 *:相乘 /:相除 ==:等于 !=:不等于 >:大于 <:小于 >=:大于等于 <=:小于等于 !:非 ll:或 &&:与 例如,“规则模板”为“字段空值”时,您可以参考如下样例进行配置: 需要配置字段空值大于10时告警,则此处可设置为“{1}>10”,其中“{1}”为通过告警参数配置的“空值行数”。 需要配置有字段空值率大于80%时告警,则此处可设置为“{3}>0.8”,其中“{3}”为通过告警参数配置的“空值率”。 需要配置字段空值大于10或字段空值率大于80%时告警,则此处可设置为“({1}>10)ll ({3}>0.8)”,其中“{1}”和“{3}”分别为通过告警参数配置的“空值行数”和“空值率”,“ll”表示满足两个条件之一即会告警。 |
告警条件 | 告警参数 | 此参数来源于规则模板的输出结果。您可以单击界面显示的参数从而输入告警表达式中的告警参数,单击后系统会在“告警表达式”输入框给出参数的表达式。 例如“规则模板”为“字段空值”时,点击告警参数“空值行数”,在“告警表达式”输入框会显示为“${1}”。 |
告警条件 | 逻辑运算符 | 可选,本参数支持将单一告警表达式的结果进行逻辑运算,组成更复杂的告警条件。 您可以将鼠标光标放在“告警表达式”输入框处需要进行逻辑运算的两个告警表达式之间,然后单击输入如下之一运算符。另外,您也可以手动输入,当前表达式中支持如下逻辑运算符,且可以通过“(”和“)”进行包围: +:相加 -:相减 *:相乘 /:相除 ==:等于 !=:不等于 >:大于 <:小于 >=:大于等于 <=:小于等于 !:非 ll:或 &&:与 例如,“规则模板”为“字段空值”,需要配置字段空值大于10或字段空值率大于80%时告警,则“告警表达式”可设置为“({1}>10)ll ({3}>0.8)”,其中“{1}”和“{3}”分别为通过告警参数配置的“空值行数”和“空值率”,“ll”表示满足两个条件之一即会告警。 |
告警条件 | 质量评分 | 当“规则类型”选择“自定义规则”时,需要配置该参数。 |
告警条件 | 生成异常数据 | 开启“生成异常数据”开关,单击“选择库表”可将质量作业中不符合设定规则的异常数据存储在异常表中。 说明 自定义模板不支持生成异常数据,自定义规则可通过自定义异常表SQL生成异常数据。 系统内置模板,“表级规则”中的“表行数”模板。“字段级规则”中的“字段平均值”、“字段汇总值”、“字段最大值”、“字段最小值”模板不支持生成异常数据。 当质量作业设置周期调度或重跑时,每次实例运行的扫描的异常数据会持续插入该异常表。建议您定期到该数据湖中清理异常表数据,避免异常数据表超大带来的成本与性能问题。 |
告警条件 | 异常表 | 单击选择库表,可以配置输出表名的前后缀。 |
告警条件 | 输出配置 | 输出规则配置:勾选,则可在异常表中显示质量作业的配置信息,方便查看异常数据产生的源头。 输出空值:勾选,则当空值不满足设定规则时,可在异常表中输出空值。 |
告警条件 | 异常数据数量 | 可选择输出全部的异常数据,或者设定数量的异常数据。 |
告警条件 | 异常表SQL | 当“规则类型”选择“自定义规则”时,需要配置该参数。此处需输入完整的SQL语句,指定输出哪些数据是异常数据。 |
告警条件 | 查看相同规则 | 单击,创建质量作业时, 能够根据表和字段判断规则的重复性。 提示已存在相关子规则和质量作业,您可看到已有规则。 |
计算范围 | 选择扫描区域 | 用来确定所配置的某条规则应检查的范围。 勾选全表扫描,则遍历所有表。 勾选条件扫描,输入where条件后,精确定位分区查询数据,不需要全表扫描查询。 |
- 单击“下一步”,设置告警配置信息。如果您在上一步的规则配置中已配置告警表达式,此处会自动带出已配置的表达式;如果未配置,则您可在此进行配置。多条(2条及以上)子规则时,则可以选择如下两种告警配置方式之一进行配置:
a.支持通过子规则的告警条件,分别上报告警。
b.将子规则之间的告警参数值通过数学运算和逻辑运算,设置一个统一的告警条件表达式来表示作业是否告警。
当前表达式中支持如下逻辑运算符,且可以通过“(”和“)”进行包围:
− +:相加
− -:相减
− *:相乘
− /:相除
− ==:等于
− !=:不等于
− >:大于
− <:小于
− >=:大于等于
− <=:小于等于
− !:非
− ||:或
− &&:与
- 单击“下一步”,设置订阅配置信息,如果需要接收SMN通知,打开通知状态,选择通知类型和SMN服务主体。
- 单击“下一步”,选择调度方式,支持单次调度和周期调度两种方式,周期调度的相关参数配置请参见表下表。配置完成后单击“提交”。
说明
单次调度会产生手动任务的实例,手动任务的特点是没有调度依赖,只需要手动触发即可。
周期调度会产生周期实例,周期实例是周期任务达到启用调度所配置的周期性运行时间时,被自动调度起来的实例快照。
周期任务每调度一次,便生成一个实例工作流。您可以对已调度起的实例任务进行日常的运维管理,如查看运行状态,对任务进行终止、重跑等操作。
只有支持委托提交作业的MRS集群,才支持质量作业周期调度。支持委托方式提交作业的MRS集群有:
MRS的非安全集群。
MRS的安全集群,集群版本大于 2.1.0,并且安装了MRS 2.1.0.1以上的补丁。
下表是配置周期调度参数
参数名 | 说明 |
---|---|
生效日期 | 调度任务的生效日期。 |
调度周期 | 选择调度任务的执行周期,并配置相关参数。 -分钟 -小时 -天 -周 说明 调度周期选择分钟/小时,需配置调度的开始时间、间隔时间和结束时间。开始时间目前支持设置到分钟级别,进行错峰调度。 调度周期选择天,需要配置调度时间,即确定了调度任务于每天的几时几分启用。 调度周期选择周,需要配置生效时间和调度时间,即确定了调度任务于周几的几时几分启用。 |
导出质量作业
系统支持批量导出质量作业,一次最多可导出200个质量作业。
- 选择“数据质量监控 > 质量作业”,选择要导出的质量作业。
- 单击“导出”,弹出“导出质量作业”对话框。
- 单击“导出”,切换到“导出记录”页签。
- 在导出文件列表中,单击最新导出文件对应的“下载”,可将质量作业的Excel表格下载到本地。
导入质量作业
系统支持批量导入质量作业,一次最大可导入1M数据的文件,并且最多200个质量作业。
- 选择“数据质量监控 > 质量作业”,单击“导入”,弹出“导入质量作业”对话框。
- 在“导入配置”页签,选择模板名称重名策略。
- 终止:如果质量作业名称有重复,则全部导入失败。
- 跳过:如果质量作业名称有重复,会忽略后继续导入。
- 覆盖:如果质量作业名称有重复,会覆盖现有同名作业。
- 单击“上传文件”,选择准备好的数据文件。
说明可通过如下两种方式填写数据文件:
(推荐使用)通过“导出”功能,可将数据直接/或修改后批量导入系统。
通过“下载Excel模板”,将数据填写好,再导入至系统中。
- 分别配置数据连接、集群、目录、主题的映射资源信息。
- 数据连接:选择导入后的数据连接类型。
- 集群:如果数据连接类型是DLI,需要选择对应的队列。
- 目录:选择导入后的质量作业存储目录。
- 主题:如果配置了消息通知,需要选择主题。
- 单击“导入”,将填好的Excel表格模板导入到系统。
- 单击“导入记录”页签,可查看对应的导入记录。