思路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(时间戳),然后通过占位符引用改值获取原始表的中增量数据,最后通过插入更新的方式完成增量抽取。