kettle基于时间戳增量更新

思路1:

1、提前建好ts时间表,设置两个字段分别为current_t和load_t,current用于比较原表中日期的上限,load_t则为上次加载的日期,几位原表中日期的下限。

1 create table ts(
2 current_t datetime,
3 load_t datetime
4 )
5 select * from ts

 

 

2.1、新建转换1,获取当前系统日期,并赋值给变量${SYSDATA},然后更新到ts表中

在同一转换中通过表输入获取上次加载日期,并赋值给变量${CURRENT_T}

 

 

 

 

 2.2抽取增量数据,并更新

 

 2.3更新加载日期

 

 

3.1数据抽取作业

 

 原始数据表

同步更新表:

时间表:

运行作业:

 

注:1、数据库中ts表日期设置为datatime格式,kettle在运行中转化为datatime2格式,在增量抽取过程中可能会报错,因此需要在获取load_t时设置转换为datatime格式;

思路2:

 首先通过select获取待更新表中max(时间戳),然后通过占位符引用改值获取原始表的中增量数据,最后通过插入更新的方式完成增量抽取。

 

posted @ 2019-04-20 20:41  竹心_兰君  阅读(5577)  评论(2编辑  收藏  举报