思路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(時間戳),然后通過占位符引用改值獲取原始表的中增量數據,最后通過插入更新的方式完成增量抽取。