案例说明
数据一般都要遵守一定的规则,例如电子邮箱地址必须是有效的格式、日期必须符合指定格式、数值不能超过最大值等。这些规则都属于"属性值域约束"的范畴,目的是检查数据是否遵照预定义的业务规则,找出不符合业务规则的数据。
数据校验是数据质量管理的重要环节。与传统基于参照表的数据验证(如外键约束)不同,大多数数据校验场景更为复杂,需要检查的数据规则多种多样,包括但不限于:
-
电子邮箱地址格式校验
-
大小写格式校验(全部大写/小写)
-
日期格式校验(如 dd-mm-yyyy)
-
电话号码格式校验(如 xxxx-xxxx-xxxx)
-
数值范围校验(不超过最大值 X)
-
年龄约束校验(必须大于 18 岁)
-
国际银行账户号(IBAN)有效性校验
本案例将使用助睿 ETL 平台的数据校验组件,通过一个完整的转换流程,演示如何对输入数据进行多维度校验,包括日期格式校验和数值范围校验,并分别输出合法数据与不合法数据,帮助理解数据校验在 ETL 过程中的实现方法与应用价值。
实验环境
-
平台名称:助睿在线实验平台
-
使用产品:助睿数智(Uniplore)- AI驱动的一站式零代码数据智能服务平台系统
-
子平台:助睿ETL数据集成平台
助睿数智平台支持从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码操作,适用于高校教学与企业数据加工。本次实验使用其核心子平台——助睿ETL数据集成平台,通过数据校验组件体验零代码拖拽式数据质量管理的便捷性。
数据准备
本案例将通过自定义常量数据组件手动构造测试数据,用于演示数据校验的完整流程。测试数据包含日期、客户名称、金额和数量等字段,其中部分数据不符合校验规则,以便在实验中观察合法数据与不合法数据的分离效果。
测试数据:
| adate | productname | items | amount |
|---|---|---|---|
| 01-01-2010 | Kettle | 3 | 12.45 |
| 28-02-2010 | Informatica | 1 | 22341 |
| 3-4-2001 | Talend | 12 | 3.21 |
| 31-03-1200 | OWD | 2 | 33452.321 |
| 13-05-2010 | Octopus | 10 |
数据说明:
-
日期字段(adate):包含合法日期和非法日期
-
金额字段(amount):包含正常金额和超过校验阈值的高额数据
-
数量字段(items):用于计算单价
操作步骤
1.新建转换并构造输入数据
-
新建转换流,打开画布,从组件库中拖拽「自定义常量数据」组件至画布,双击组件打开配置窗口。
-
在「步骤名称」处输入 Date Grid。「字段」标签页空白处右键插入,按照以下配置输入字段:
| 序号 | 字段名 | 类型 |
|---|---|---|
| 1 | adate | String |
| 2 | customer | String |
| 3 | amount | Number |
| 4 | items | Integer |
- 切换至「数据」标签页,右键空白处点击「插入」按钮新增数据行,逐行输入测试数据。
- 配置完成后点击「确认」。
2. 计算平均单价
在数据校验之前,需先通过计算器组件计算每个商品的单价(ItemPrice = amount / items),作为后续数值校验的数据来源。
-
从「组件库」中拖拽「计算器」组件至画布,建立从「Data Grid」组件到「计算器」组件的连接,在弹出的步骤选择提示框中选择「主输出步骤」。
-
双击「计算器」组件打开配置窗口,步骤名称填入
PricePerItem。 -
在计算配置下方空白区域右键「插入」新增一条计算逻辑,按下表进行配置:
- 配置完成后点击「确认」。
3.日期格式校验
日期格式校验是最常见的数据校验类型之一。本步骤将使用「数据校验」组件,对数据中的日期字段进行格式验证,只接受符合 yyyy-MM-dd 格式的数据。
- 从「组件库」中拖拽「日期检测格式」组件至画布,建立从「PricePerItem」组件到「日期检测格式」组件的连接,选择「主输出步骤」。
4.配置非法日期输出分支
日期检测格式组件有两个输出分支:「主输出步骤」输出校验通过的数据,「错误步骤」输出校验失败的数据。本步骤将配置非法日期的输出路径,以便查看被日期校验过滤的数据。
-
从组件库中拖拽「数值检测」组件至画布,命名为 Numeric Validator。
-
从组件库中拖拽「空操作(什么也不做)」组件至画布,命名为
Invalid Date。 -
建立从「日期检测格式」组件到「Numeric Validator」和 [Invalid Date] 组件的连线。具体操作:从「Date Validator」组件拖出连接线,选择「接收匹配行」连接到「Numeric Validator」组件。再从「Date Validator」组件拖出连接线,选择「接收不匹配行」连接到「Invalid Date」组件。
配置组件:
-
双击「日期检测格式」组件打开配置窗口,将步骤名称修改为
Date Validator。 -
在校验规则配置区域,选择需要校验的字段、校验类型及期望格式:
-
配置完成后点击「确认」。
-
连接如下图所示
5.配置最终输出分支
数值检测组件同样具备两个输出分支。本步骤将配置合法数据与非法数据的最终输出路径。
-
从「组件库」中拖拽两个「空操作(什么也不做)」组件至画布,分别命名为
Result Data和Invalid Number。 -
将「Numeric Validator」组件接受匹配行连接到「Result Data」组件。
-
将「Numeric Validator」组件的接受不匹配行连接到「Invalid Number」组件。
6.数值范围校验
通过日期校验的合法数据将进入数值校验环节。本步骤使用「数值检测」组件对单价(ItemPrice)进行范围校验,确保数据在合理范围内。
-
双击「Numeric Validator」组件打开配置窗口。
-
按下表配置数值校验规则:
完整转换如图所示:
7. 运行转换并查看校验结果
完成所有组件配置后,运行转换并分别查看各输出分支的数据,验证数据校验逻辑是否正确执行。
- 点击画布左上角的「运行」按钮,在弹出的提示框中点击「启动」,运行整个转换流程。
- 转换执行完成后,选中名为Invalid Date的组件,右击并选中预览查看数据。可以观察到【ItemPrice】字段中有 NULL 值,【amount】字段中有大于设置的最大值数据,【adate】字段中有无效的日期点,结果如下图所示:
- 选中名为Invalid Number的组件,右击并选中预览查看数据。【ItemPrice】字段中有 NULL 值,结果如下图所示:
- 选中名为Result Data的组件,右击并选中预览查看数据。通过校验的数据结果如下图所示:












