Kettle 增量推送数据

业务表有date时间类型字段,根据该字段来设置变量控制数据增量推送

来源表:

 

 目标表:

 

 

目标表需包含来源表要推送数据的所有字段

 

kettle组件按照顺序用到了两个表输入(第一个组件获取目标表已有数据最大时间,第一次推送时目标表为空设置的一个默认值;第二个表输入组件获取来源表数据)、一个表输出组件(输出来源表数据到目标表),

总体思路是获取目标表已推送数据的最大时间,将其作为变量,查询来源表中未推送数据的where条件

表输入组件1:

由于第一次推送数据时,目标表为空表导致查询的时间为空,无法作为正确的参数值给第二个表输入组件查询数据,所以在查询到时间为空时赋一个默认时间值以便第二个表输入组件可以根据它查询到所有数据

 

表输入组件2:

这里sql语句中 where time > ?里?的值是通过第一个表输入组件获取的时间值

 

 表输出组件:

 

posted @ 2022-08-10 11:41  诟笑  阅读(384)  评论(0编辑  收藏  举报