【助睿实验选做】数据清洗与校验-使用助睿ETL校验数据质量

案例说明

数据一般都要遵守一定的规则,例如电子邮箱地址必须是有效的格式、日期必须符合指定格式、数值不能超过最大值等。这些规则都属于"属性值域约束"的范畴,目的是检查数据是否遵照预定义的业务规则,找出不符合业务规则的数据。

数据校验是数据质量管理的重要环节。与传统基于参照表的数据验证(如外键约束)不同,大多数数据校验场景更为复杂,需要检查的数据规则多种多样,包括但不限于:

  • 电子邮箱地址格式校验

  • 大小写格式校验(全部大写/小写)

  • 日期格式校验(如 dd-mm-yyyy)

  • 电话号码格式校验(如 xxxx-xxxx-xxxx)

  • 数值范围校验(不超过最大值 X)

  • 年龄约束校验(必须大于 18 岁)

  • 国际银行账户号(IBAN)有效性校验

本案例将使用助睿 ETL 平台的数据校验组件,通过一个完整的转换流程,演示如何对输入数据进行多维度校验,包括日期格式校验和数值范围校验,并分别输出合法数据与不合法数据,帮助理解数据校验在 ETL 过程中的实现方法与应用价值。

实验环境

  • 平台名称:助睿在线实验平台

  • 访问地址:https://lab.guilian.cn/

  • 使用产品:助睿数智(Uniplore)- AI驱动的一站式零代码数据智能服务平台系统

  • 子平台:助睿ETL数据集成平台

  • 产品官网:https://www.uniplore.com/

助睿数智平台支持从数据接入、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.新建转换并构造输入数据

  1. 新建转换流,打开画布,从组件库中拖拽「自定义常量数据」组件至画布,双击组件打开配置窗口。

  2. 在「步骤名称」处输入 Date Grid。「字段」标签页空白处右键插入,按照以下配置输入字段:

序号 字段名 类型
1 adate String
2 customer String
3 amount Number
4 items Integer

  1. 切换至「数据」标签页,右键空白处点击「插入」按钮新增数据行,逐行输入测试数据。

  1. 配置完成后点击「确认」。

2. 计算平均单价

在数据校验之前,需先通过计算器组件计算每个商品的单价(ItemPrice = amount / items),作为后续数值校验的数据来源。

  1. 从「组件库」中拖拽「计算器」组件至画布,建立从「Data Grid」组件到「计算器」组件的连接,在弹出的步骤选择提示框中选择「主输出步骤」。

  2. 双击「计算器」组件打开配置窗口,步骤名称填入 PricePerItem

  3. 在计算配置下方空白区域右键「插入」新增一条计算逻辑,按下表进行配置:

  1. 配置完成后点击「确认」。

3.日期格式校验

日期格式校验是最常见的数据校验类型之一。本步骤将使用「数据校验」组件,对数据中的日期字段进行格式验证,只接受符合 yyyy-MM-dd 格式的数据。

  1. 从「组件库」中拖拽「日期检测格式」组件至画布,建立从「PricePerItem」组件到「日期检测格式」组件的连接,选择「主输出步骤」。

4.配置非法日期输出分支

日期检测格式组件有两个输出分支:「主输出步骤」输出校验通过的数据,「错误步骤」输出校验失败的数据。本步骤将配置非法日期的输出路径,以便查看被日期校验过滤的数据。

  1. 从组件库中拖拽「数值检测」组件至画布,命名为 Numeric Validator。

  2. 从组件库中拖拽「空操作(什么也不做)」组件至画布,命名为 Invalid Date

  3. 建立从「日期检测格式」组件到「Numeric Validator」和 [Invalid Date] 组件的连线。具体操作:从「Date Validator」组件拖出连接线,选择「接收匹配行」连接到「Numeric Validator」组件。再从「Date Validator」组件拖出连接线,选择「接收不匹配行」连接到「Invalid Date」组件。

配置组件:

  1. 双击「日期检测格式」组件打开配置窗口,将步骤名称修改为 Date Validator

  2. 在校验规则配置区域,选择需要校验的字段、校验类型及期望格式:

  1. 配置完成后点击「确认」。

  2. 连接如下图所示

5.配置最终输出分支

数值检测组件同样具备两个输出分支。本步骤将配置合法数据与非法数据的最终输出路径。

  1. 从「组件库」中拖拽两个「空操作(什么也不做)」组件至画布,分别命名为 Result DataInvalid Number

  2. 将「Numeric Validator」组件接受匹配行连接到「Result Data」组件。

  3. 将「Numeric Validator」组件的接受不匹配行连接到「Invalid Number」组件。

6.数值范围校验

通过日期校验的合法数据将进入数值校验环节。本步骤使用「数值检测」组件对单价(ItemPrice)进行范围校验,确保数据在合理范围内。

  1. 双击「Numeric Validator」组件打开配置窗口。

  2. 按下表配置数值校验规则:

完整转换如图所示:

7. 运行转换并查看校验结果

完成所有组件配置后,运行转换并分别查看各输出分支的数据,验证数据校验逻辑是否正确执行。

  1. 点击画布左上角的「运行」按钮,在弹出的提示框中点击「启动」,运行整个转换流程。

  1. 转换执行完成后,选中名为Invalid Date的组件,右击并选中预览查看数据。可以观察到【ItemPrice】字段中有 NULL 值,【amount】字段中有大于设置的最大值数据,【adate】字段中有无效的日期点,结果如下图所示:

  1. 选中名为Invalid Number的组件,右击并选中预览查看数据。【ItemPrice】字段中有 NULL 值,结果如下图所示:

  1. 选中名为Result Data的组件,右击并选中预览查看数据。通过校验的数据结果如下图所示:

4 个赞