
产品注册版本为「v5.0共创版」时,才能使用数据检测任务功能;如需试用或者了解详细信息,请联系技术支持(技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」)。
如有共创意愿请填写链接:数据检测客户共创意愿收集表
1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
5.0.0.1 | - |
5.0.3.3 | 数据检测任务全新升级,5.0.3.3 之前版本请参见:历史版本;若用户从 5.0.3.3 之前版本升级到 5.0.3.3 及之后版本,兼容说明见本文 第 6 节 1)配置界面优化,将「检测对象」与「规则配置」整合在一个页面里 2)数据检测任务配置重构,将部分常用规则固定为「平台内置规则」,原有的自定义规则分为「任务自定义内则」和「全局自定义规则」 3)支持在定时任务中调用数据检测任务 |
5.0.3.4 | 「平台内置规则」中新增两种计算方式:
|
1.2 应用场景
某些业务系统中或者数仓中的数据,可能存在一些不符合要求的情况,用户期望能够定义一些规则,对其进行定期检测,检测完毕后,输出检测的结果报告并进行通知。
1.3 功能简介
1)在检测任务中,支持自定义配置检测规则,对数据质量进行定期检测。
2)5.0.3.3 及之后版本,支持在定时任务中调用数据检测任务,若检测不通过,可通知给对应负责人。如下图所示:
2. 使用限制

支持数据源:MySQL、Oracle、SQLServer(由于原生语法不支持,暂不支持正则表达式)、PostgreSQL
仅 独立部署工程 支持使用该功能。
3. 前提条件
1)注册「数据检测」功能点,详情请参见:功能点限制
2)有「数据检测」功能的使用权限,详情请参见:数据检测使用权限
3)需要检测任务执行资源分配;点击「管理系统>智能运维>负载管理>负载分配」:
无需设置「内存分配」。
需要设置「并发控制」控制并发数:新工程部署、老工程升级上去,默认为 0 并发,用户需要手动调整才可使用(一个数据检测任务占用一个并发)。
4. 配置数据检测任务
规则内容概览:
规则类型 | 内容 | |
---|---|---|
平台内置规则 (支持批量表/批量字段配置) | 表行唯一性检测(表级) | 检测:正常行数、正常行占比、异常行数、异常行占比 |
字段值唯一性检测(字段级) | 检测:正常值个数、正常值占比、异常值个数、异常值占比 | |
表总行数计数(表级) | 检测:总行数 | |
字段NULL值/空字符串检测(字段级) | 检测:NULL值个数、NULL值占比、空字符串个数、空字符串占比 | |
字段格式检测(字段级) | 检测:正则表达式匹配的行数、行占比 | |
两表字段统计值比对(字段级) | 检测:统计差值、统计差异率 | |
两表数据明细值比对(表级) | 检测:差异行数、差异率 | |
任务自定义规则 (仅支持单表配置) | 行级筛选 | 逐行判断某字段是否满足条件,再统计行数、行占比 |
聚合计算 | 多行聚合计算后判断结果 | |
全局自定义规则 | 引用全局自定义规则 | - |
4.1 新建数据检测任务
1)点击「数据管理>数据检测」,新建检测任务(选中某个文件夹,可在文件夹中新建数据检测任务)。如下图所示:
2)设置数据检测任务的位置、名称、描述,点击「确定」按钮。如下图所示:
注:任务名称最大 60 字符且不能重名,任务描述最大 300 字符。
4.2 检测对象
1)首先设置检测对象,选择有权限的数据连接和检测的数据表。如下图所示:
配置项 | 说明 |
---|---|
数据源 | 下拉框中显示用户拥有管理权限的数据连接 |
检测对象 | 下拉框中显示该数据连接下的库表 支持批量选表 配置任务自定义规则/全局自定义规则时,仅支持添加 1 张表 |
2)支持为所有已选的表,配置数据范围,用户可为每张所选表通过写 WHERE 语句的形式指定筛选条件。支持引用参数,支持预览数据。
注:数据范围仅作用于平台内置规则,自定义规则始终检测全量数据。
3)下一步需设置检测规则,支持设置三种检测规则,说明见下表:
规则类型 | 说明 |
---|---|
平台内置规则 | 支持批量表/批量字段配置 预设多种规则,最大化提升常用检测的配置体验 详情请参见本文 4.3 节 |
任务自定义规则 | 仅支持单表配置 提供灵活的配置项,满足个性化的检测需求 详情请参见本文 4.4 节 |
全局自定义规则 | 仅支持单表配置 引用全局自定义规则 详情请参见本文 4.5 节 |
4.3 规则一:平台内置规则
平台内置规则支持以下几种计算方式:
4.3.1 表行唯一性检测(表级)
配置界面如下:
配置项 | 说明 |
---|---|
计算结果 | 可选择:正常行数、正常行占比、异常行数、异常行占比
|
联合主键 | 选择字段作为联合主键计算行数,每张表至少选择1个字段 |
预期范围 | 指定预期范围,例如「异常行数=0」 支持添加多个条件,支持切换添加「且/或」条件 |
4.3.2 字段值唯一性校验
配置界面如下:
配置项 | 说明 |
---|---|
计算结果 | 可选择:正常值个数、正常值占比、异常值个数、异常值占比
|
检测字段 | 每张表至少选择 1 个字段 |
预期范围 | 指定预期范围,例如「异常值个数=0」 支持添加多个条件,支持切换添加「且/或」条件 |
4.3.3 表总行数计数(表级)
配置界面如下:
配置项 | 说明 |
---|---|
计算结果 | - |
预期范围 | 指定预期范围,例如「总行数大于等于 500000」 支持添加多个条件,支持切换添加「且/或」条件 |
4.3.4 字段NULL值/空字符串检测(字段级)
配置界面如下:
配置项 | 说明 |
---|---|
计算结果 | 可选择:NULL值个数、NULL值占比、空字符串个数、空字符串占比 |
检测字段 | 每张表至少选择 1 个字段 |
预期范围 | 指定预期范围,例如「空字符串个数=0」 支持添加多个条件,支持切换添加「且/或」条件 |
4.3.5 字段格式校验(字段级)
配置界面如下:
配置项 | 说明 |
---|---|
计算方式 | 正则表达式仅对文本型和数值型字段生效 |
计算结果 | 可选择:匹配行数、匹配行占比 |
检测字段 | 每张表至少选择 1 个字段 |
预期范围 | 指定预期范围,例如「匹配行数=0」 支持切换添加「且/或」条件 |
4.3.6 两表字段统计值比对(字段级)
5.0.3.4 及之后版本,平台内置规则新增计算方式:两表字段统计值比对。
配置界面如下:
配置项 | 说明 |
---|---|
统计方式 | 可选择:
|
比对配置 | 1)「比对源」支持选择不同数据源下的库,即检测表和比对表在不同类型的数据连接下 2)若有多张比对表,比对表仅支持来源于同一个数据连接下的同一个库/模式 3)若在配置「检测对象」时,同时配置了检测的数据范围,支持在此处查看检测对象的数据范围。此外,支持配置比对表的「数据范围」,配置逻辑与配置检测对象的数据范围一致,详情请参见本文 4.2 节 4)若统计方式为:字段计数、字段唯一值计数,建议选择主键字段作为比对字段 |
计算结果 | 可选择:
注:当分母为 0 时,统计差异率为 100% |
预期范围 | 指定预期范围,例如「统计差值=0」 支持切换添加「且/或」条件 |
4.3.7 两表数据明细值比对(表级)
5.0.3.4 及之后版本,平台内置规则新增计算方式:两表数据明细值比对。
配置界面如下:
配置项 | 说明 |
---|---|
比对配置 | 1)「比对源」支持选择不同数据源下的库,即检测表和比对表在不同类型的数据连接下 2)若有多张比对表,比对表仅支持来源于同一个数据连接下的同一个库/模式 3)若在配置「检测对象」时,同时配置了检测的数据范围,支持在此处查看检测对象的数据范围。此外,支持配置比对表的「数据范围」,配置逻辑与配置检测对象的数据范围一致,详情请参见本文 4.2 节 |
主键映射:必填。选择字段作为逻辑主键映射确定数据唯一性
| |
比对字段: 左表固定检测表,右表固定为比对表,以左表为基准选择比对表字段 非必选,为空时无法标记出字段内容不一致的行 | |
计算结果 | 可选择:
|
预期范围 | 指定预期范围,例如「差异行数=0」 支持切换添加「且/或」条件 |
4.4 规则二:任务自定义规则
4.4.1 行级筛选
「行级筛选」:逐行判断某字段是否满足条件,再统计行数/行占比,可用于空值检查、手机号格式校验等场景。
配置界面如下:
配置项 | 说明 |
---|---|
自定义 SQL | 自定义 SQL,执行结果为明细数据,执行结果的行数会被用于统计行数 |
计算结果 | 指定如何计算这些明细行,可选择:行数、行占比 |
预期范围 | 指定预期范围 支持添加多个条件,支持切换添加「且/或」条件 |
4.4.2 聚合计算
「集合计算」:多行聚合计算后判断结果,依赖聚合函数,例如计算平均销售额是否超过 100 万。
配置界面如下:
配置项 | 说明 |
---|---|
自定义 SQL | 若勾选「使用自定义 SQL 计算」,支持自定义 SQL,执行结果为统计值 支持自定义统计值的「值类型」,执行结果的行数会被用于统计行数 |
行范围 | 未勾选「使用自定义 SQL 计算」,出现此配置 支持填写 WHERE 语句来筛选要进行统计计算的行 |
计算结果 | 未勾选「使用自定义 SQL 计算」时,需选择预设的计算类型和计算方式: 1)日期类计算
2)数值类计算
|
检测字段 | 选择需要检测的字段 |
预期范围 | 指定预期范围 支持添加多个条件,支持切换添加「且/或」条件 |
4.5 规则三:全局自定义规则
4.5.1 设置全局自定义规则
1)点击「全局设置」按钮,添加全局自定义规则,如下图所示:
配置项 | 说明 |
---|---|
规则名称 | 配置规则名称 |
计算方式 计算结果 | 详情参见本文 4.4 节 |
自定义 SQL/行范围 | 支持使用@[tableName]、@[column]作为表名、字段名占位符 表占位符:
字段占位符:
其余说明可参见本文 4.4 节 |
2)支持引用全局自定义规则,需设置检测字段和预期范围。其余配置项不支持修改,若需修改,请在 1)中全局自定义规则修改。如下图所示:
4.5.2 管理全局自定义规则
1)在「全局自定义规则」页面中,可以查看当前工程中所有全局自定义规则,包括名称、计算方式、计算结果等信息,同时提供新增、编辑、删除、搜索全局自定义规则操作。如下图所示:
2)展示该全局规则的修改记录,包括创建时间/修改时间,创建者/修改者(仅记录最新操作的15个记录,若超过,最晚记录覆盖最早记录)。如下图所示:
3)在「全局自定义规则管理」页面中,支持查看字段级检测的自定义 SQL、行数。如下图所示:
4.6 输出检测结果报告
1)点击「保存并运行」按钮,输出检测报告,如下图所示:
注1:若用户此时不想运行数据检测任务,可点击「保存」按钮,保存该数据检测任务,后续可在任务详情页点击「运行」按钮运行。
注2:可点击下图右上角「删除」按钮,删除规则。
2)运行后,任务详情页中输出检测结果报告,展示记录ID、运行开始时间、触发方式、被检测的数据表、规则内容、检测是否通过等信息。如下图所示:
注1:该界面展示最新一次运行记录检测结果(即质量报告);未运行则展示空状态。
注2:若数据检测任务在运行中,该页面右上角显示「终止」按钮,可手动终止数据检测任务。
注:若检测不通过或失败,运维说明请参见:单个数据检测任务运维和管理
用户可点击切换数据表查看各表的检测结果,也支持切换「规则结果」查看检测结果。如下图所示:
4.7 设置结果通知
1)数据检测任务详情页中,点击「结果通知」按钮,可开启结果通知,将数据检测任务的结果以平台、邮件、短信、客户端(钉钉、飞书、企业微信)的形式推给用户。如下图所示:
注:运行失败、检测不通过、检测通过的定义请参见:查看数据检测任务运行情况
2)通知内容:
场景 | 通知内容格式 |
---|---|
运行失败 | 主题:[FineDataLink] #taskname# 运行失败 内容:数据检测任务「#taskname#」,运行失败,开始执行时间为 2023-03-21 15:22:38,结束时间为 2023-03-21 15:22:41,请前往「运维中心-数据检测-运行记录」查看详情 |
检测不通过 | 主题:[FineDataLink] #taskname# 检测不通过 内容:数据检测任务「#taskname#」,检测不通过,开始执行时间为 2023-03-21 15:22:38,结束时间为 2023-03-21 15:22:41,请前往「运维中心-数据检测-运行记录」查看详情 |
检测通过 | 主题:[FineDataLink] #taskname# 检测通过 内容:数据检测任务「#taskname#」,检测通过,开始执行时间为 2023-03-21 15:22:38,结束时间为 2023-03-21 15:22:41 |
4.8 设置定时调度
数据检测任务详情页中,点击「定时调度」按钮,可设置数据检测任务的执行频率。如下图所示:
注:不支持引用调度日历。
4.9 最佳实践
5. 数据检测任务运维
单个数据检测任务运维和管理请参见:单个数据检测任务运维和管理
6. 兼容说明
若用户从 5.0.3.3 之前版本升级到 5.0.3.3 及之后版本,升级后,配置映射如下:
原配置 | 新配置 |
---|---|
规则类型:表级 检测对象:总行数 | 规则类型:平台内置规则 内置规则类型:单表总行数校验 |
规则类型:表级 检测对象:过滤行统计 | 规则类型:自定义规则 计算方式:行级筛选 符合条件行明细SQL:填入原配置的行范围部分写的SQL |
规则类型:字段级 检测对象:字段值计算结果 计算结果:自定义SQL | 规则类型:自定义规则 计算方式:聚合统计 使用自定义SQL定义计算:勾选 自定义SQL:填入自定义SQL内容 |
规则类型:字段级 检测对象:字段值计算结果 计算结果:其他(比如最早时间、最晚时间、最大值、最小值等) | 规则类型:自定义规则 计算方式:聚合统计 使用自定义SQL定义计算:不勾选 统计行范围:留空 计算方式&计算字段:按原逻辑填入(多表多字段仅保留第一个) |
规则类型:字段级 检测对象:字段行统计内容 行范围:重复行 | 规则类型:平台内置规则 内置规则类型:字段值唯一性校验 多表多字段可照常选中 |
规则类型:字段级 检测对象:字段行统计内容 行范围:自定义SQL | 规则类型:自定义规则 计算方式:行级筛选 符合条件行明细SQL:填入原配置的行范围部分写的SQL(多表多字段仅保留第一个) |
规则类型:字段级 检测对象:字段行统计内容 行范围:正则匹配 | 规则类型:平台内置规则 内置规则类型:字段格式校验 正则表达式:填入原配置的正则表达式 多表多字段可照常选中 |