Kettle使用_26 根据增删改标识处理数据

                                   Kettle使用_26 根据增删改标识处理数据

需求:已知数据的状态标签(insert、update、delete)利用kettle对其进行相应的操作。

解决方法:主要通过过滤记录组件来解决如上问题。

Previous work:

数据库(以mysql为例)里准备源数据,表结构与数据见下:

DROP TABLE tb_user;
CREATE TABLE tb_user(
id integer,
name varchar(12)
);

TRUNCATE TABLE tb_user;
INSERT INTO tb_user VALUES(1,'上海');
INSERT INTO tb_user VALUES(2,'北京');
INSERT INTO tb_user VALUES(3,'深圳');

 

Step1:新建个转换

Step2:拖个自定义常量组件,并定义结构和数据。

元数据:

数据:

 

Step3:拖个过滤记录组件,命名为“是否新增”,通过SHIFT使得自定义数据常量与该组件关联,并配置过滤记录如下:

 

配置过滤记录(这里的删除标记字段和是否删除分别对应下文的组件),该组件命名为“是否新增“:

 

Step4:拖个字段选择组件,命名为删除标记字段,并配置选择字段组件。再拖个文本文件输出组件,并配置。

 

SHIFT连接是否新增与删除标记字段组件,注意这里是为TRUE时选择。

 

在移除里配置字段名

配置文本文件输出路径和字段。

 

Step5:同理拖个过滤记录,其名称为“是否删除”,

 

Step6:拖个删除组件,该组件位于转换的输出分类下,SHIFT连接“是否删除组件”与删除组件。

 

 

 

Step7:同理拖个过滤记录,其名称为“是否更新”,SHIFT连接“是否删除“与该组件,并配置如下:

 

 

Step8:拖个更新组件,该组件位于转换的输出分类下,SHIFT连接“是否更新”与更新组件。配置更新组件见下:

 

 

 

Step9:保存、运行、验证该转换。

 

完整的流程示意见下:

 

 

 

猜你喜欢

转载自blog.csdn.net/shenliang1985/article/details/113141219