1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.2.1.4 | - |
4.2.4.3 | 数据检测任务目录树,新增异常状态图标 数据检测任务列表中,新增目录树刷新按钮 |
1.2 应用场景
某些业务系统中或者数仓中的数据,可能存在一些不符合要求的情况,用户期望能够定义一些规则,对其进行定期检测,检测完毕后,输出检测的结果报告并进行通知。
1.3 功能简介
支持创建「数据检测」规则&「数据检测」任务。
支持创建、管理、引用检测规则。
支持针对单表/多表做:字段级检测、表级检测。
2. 使用限制

支持数据源:MySQL、Oracle、SQLServer(由于原生语法不支持,暂不支持正则表达式)、PostgreSQL
仅独立部署工程支持使用该功能。
3. 前提条件
1)注册「数据检测」功能点,详情请参见:功能点限制
2)有「数据检测」功能的使用权限,详情请参见:数据检测使用权限
3)需要检测任务执行资源分配;点击「管理系统>智能运维>负载管理>负载分配」:
无需设置「内存分配」。
需要设置「并发控制」控制并发数:新工程部署、老工程升级上去,默认为 0 并发,用户需要手动调整才可使用(一个数据检测任务占用一个并发)。
4. 配置数据检测任务
数据检测任务中,可为多表配置多个检测规则;一条规则可检测多表、多字段。
若用户存在检测规则适用于多个或所有检测任务中,可参考本文第五章配置全局规则。
规则内容概览:
检测对象 | 内容 | 检测条件 | |
---|---|---|---|
表 | 总行数 | 总行数的值范围 | |
过滤行统计 | 行数 | 可写 SQL 语句过滤符合条件的数据,设置符合条件数据行数的值范围 | |
行占比 | 可写 SQL 语句过滤符合条件的数据,设置符合条件数据行数/总行数的值 | ||
字段 | 字段值计算结果 | 数据类型:
| 计算结果与固定值/区间进行比较 |
字段行统计内容 | 筛选行范围:重复行、自定义SQL、正则匹配 统计内容:行数、行占比 | 行数/行占比与固定值/区间进行比较 |
4.1 新建数据检测任务
1)点击「数据管理>数据检测」,新建检测任务(选中某个文件夹,可在文件夹中新建数据检测任务)。如下图所示:
2)设置数据检测任务的位置、名称、描述,点击「确定」按钮。如下图所示:
注:任务名称最大 60 字符且不能重名,任务描述最大 300 字符。
4.2 监控对象
创建检测任务后,即可进入编辑界面配置任务;首先设置监控对象,选择有权限的数据连接和监控的数据表,点击「下一步」按钮。如下图所示:
配置项 | 说明 |
---|---|
数据源 | 下拉框中显示用户拥有管理权限的数据连接 |
监控对象 | 下拉框中显示该数据连接下的库表 支持批量选表,最大表数量:50 可点击「快速选表」按钮,选择库和输入表名,一次性选择多张表 |
4.3 设置规则
点击添加检测规则,设置规则详情,点击「保存并运行」按钮。如下图所示:
注1:若用户此时不想运行数据检测任务,可点击「保存」按钮,保存该数据检测任务,后续可在任务详情页点击「运行」按钮运行。
注2:可点击下图右上角「删除」按钮,删除规则。
4.3.1 添加规则
支持添加多个检测规则;最大可添加 10 个规则,达到上限时,添加按钮灰化。
4.3.2 规则渠道
检测规则可自定义设置,或者引用已有的全局规则(全局规则说明请参见本文第五章内容)
注:全局规则可被引用在所有的检测任务中。
本节主要介绍「自定义规则」如何设置。
4.3.3 规则类型-表级
1)当「自定义规则」&检测对象为「总行数」时,界面如下图所示:
提供数值类型的条件判断,条件值允许输入常量;一个规则中允许用户添加条件:且条件、或条件。
监控对象为 4.2 节选择的所有表;不支持自定义。
3)当「自定义规则」&检测对象为「过滤行统计」时,界面如下图所示:
设置项 | 说明 |
---|---|
行范围 |
|
column配置 | 1)「行范围」中使用占位符后,需要在此处选择每个表里对应的字段 2)点击「编辑」按钮后,弹窗内仅展示未被其他字段占位符选择的字段 3)每张表都需要选择且只能选择一个字段 |
统计内容&预期范围 | 可选择行数、行占比 行数:符合条件的明细行值范围 行占比:符合条件的行数/总行数 |
4.3.4 规则类型-字段级
注:只支持监控文本、数值、时间类型字段。
1)当「自定义规则」&检测对象为「字段值计算结果」时,界面如下图所示:
设置项 | 说明 |
---|---|
数据类型 | 选择监控的字段类型,支持选择日期、文本、数值 |
监控对象 | 仅展示对应「数据类型」的字段 若表内没有对应类型的字段,不支持展开 每张表至少要选择一个字段 |
计算结果&预期范围 | 1)数据类型为数值:提供选择字段计算规则,支持求和、求平均、求最大值、求最小值、求方差、求标准差、求中位数、自定义SQL 2)数据类型为文本:SQL语句计算结果 3)数据类型为日期:最早时间、最晚时间、自定义SQL 4)「预期范围」的类型跟随「数据类型」;「预期范围」的对象跟随「计算结果」对象 |
2)当「自定义规则」&检测对象为「字段行统计内容」时,界面如下图所示:
行范围 | 说明 |
---|---|
重复行 | 1)监控对象中,所有类型字段都能选择 2)统计内容可选择行数、行占比
|
自定义SQL | 1)监控对象中,所有类型字段都能选择 2)界面如下图所示:
|
正则匹配 SQLServer 由于原生语法不支持,暂不支持正则表达式 | 1)监控对象中,仅支持选择数值型和文本型字段 2)界面如下图所示:
|
4.4 输出检测结果报告
运行后,任务详情页中输出检测结果报告,展示记录ID、运行开始时间、触发方式、被检测的数据表、规则内容、检测是否通过等信息。如下图所示:
注1:该界面展示最新一次运行记录检测结果(即质量报告);未运行则展示空状态。
注2:若数据检测任务在运行中,该页面右上角显示「终止」按钮,可手动终止数据检测任务。
注:若检测不通过或失败,运维说明请参见:单个数据检测任务运维和管理
用户可点击切换数据表,查看规则结果。如下图所示:
4.5 设置结果通知
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.6 设置定时调度
数据检测任务详情页中,点击「定时调度」按钮,可设置数据检测任务的执行频率。如下图所示:
注:不支持引用调度日历。
4.7 最佳实践
5. 全局规则
5.1 全局规则设置
全局规则设置步骤与本文第四章设置检测任务相似,各设置项说明参考本文第四章内容即可。
不同的是这些规则能被引用在所有的检测任务中。设置界面如下图所示:
5.2 全局规则管理
1)在「全局规则」页面中,可以查看当前工程中所有全局规则,包括名称、类型、对象、创建者,同时提供新增、编辑、删除、搜索全局规则名称操作。如下图所示:
2)在「全局规则管理」页面中,展示该全局规则的修改记录,包括创建时间/修改时间,创建者/修改者(仅记录最新操作的15个记录,若超过,最晚记录覆盖最早记录)。如下图所示:
3)在「全局规则管理」页面中,支持查看字段级检测的自定义 SQL、行数。如下图所示: