0
点赞
收藏
分享

微信扫一扫

Kettle使用_7 数据校验组件应用


                                 Kettle使用_7 数据校验组件应用

需求:

  1. 通过数据校验组件完成数据字段、长度、类型、字段是否为空、字段是否在指定的范围内的检验
  2. 统计出错误的个数(或仅按照错误类型的个数)
  3. 能根据错误个数做流程终止的控制。

解决方法:

通过数据校验组件结合分组统计、过滤记录和终止流程组件来完成。

  • 场景一:字段最大长度检验

Step1: 拖动一个自定义常量组件(字段是name,类型是string,数据见下图)到转换并

Kettle使用_7 数据校验组件应用_Kettle数据检验

Step2:将转换里检验分类下的数据检验拖到转换里。

Kettle使用_7 数据校验组件应用_Kettle应用_02

Step3: 按住SHIFT,从自定义常量里连接到数据校验组件。

Step4:设置最大字符串长度为8

Kettle使用_7 数据校验组件应用_Kettle流程终止_03

  • 场景二:检查数字类型最大长度(这里检查score最大值为70)

步骤类似场景一,这里的自定义常量数据见下:

Kettle使用_7 数据校验组件应用_Kettle流程终止_04

数据校验配置数据最大值配置:

Kettle使用_7 数据校验组件应用_Kettle数据检验_05

  • 场景三:检查数据是否为空(这里code字段第二行为空)

这里的自定义常量数据见下:

Kettle使用_7 数据校验组件应用_Kettle过滤记录_06

数据校验,是否为空配置。

Kettle使用_7 数据校验组件应用_Kettle使用案例_07

  • 场景四:字段类型检验(这里给的CityCode是integer,但检验时需要是String类型)

Kettle使用_7 数据校验组件应用_Kettle应用_08

数据检验里数据类型检查配置

Kettle使用_7 数据校验组件应用_Kettle应用_09

  • 场景五:数据是否属于某个范围(List)

自定义数据如下(工资水平有A、B、C、D、E、F6条记录,而实际合法的是如下list :A、B、C、D)

Kettle使用_7 数据校验组件应用_Kettle使用案例_10

数据校验(在一个范围内)的配置。

Kettle使用_7 数据校验组件应用_Kettle流程终止_11

  • 场景六:综合案例(即需求部分)

配置如上的数据校验组件与统计组件互连到一个Dummy组件

Kettle使用_7 数据校验组件应用_Kettle数据检验_12

Kettle使用_7 数据校验组件应用_Kettle应用_13

这里统计组件可按照如下设置:

Kettle使用_7 数据校验组件应用_Kettle流程终止_14

可设置过滤组件如下:

Kettle使用_7 数据校验组件应用_Kettle流程终止_15

如果满足过滤条件,则进入流程终止。

Kettle使用_7 数据校验组件应用_Kettle使用案例_16

完整流程示意:

Kettle使用_7 数据校验组件应用_Kettle使用案例_17

举报

相关推荐

0 条评论