引:
ods有个工程表来自于上游系统,数据量不大 十几万,下游系统需要此数据,并且需要每天提供截止当天的增量数据 要求每条数据给出数据变化时间及标示,即数据若是插入 有插入时间和插入标示 若是修改 有修改时间和修改标示 若是删除需逻辑删除、有删除标示且有删除时间
解决:
kettle的转换ktr里有一个图元叫做合并记录,可以把两个表输入分为源和目的根据唯一标示 进行全量比对。由此,我们得到增量的数据流,再写入到RDBMS里,即可以实现该需求。实现功能的ktr如下图:
1 输入源 合并记录
上图,
最左侧是两个表输入,上面一个cpmis 是上游系统 下面一个被 merge rows挡住了,名字是odso
cpmis
SELECT
ITEMID,
ITEMCODE,
ITEMPLANCODE,
ITEMNAME,
DEMANDID,
ITEMPROPERTY,
COMPANYID,
MANAGELEVELID,
SPECIALSMALLTYPEID,
PLANTYPEID,
CONSTRUCTPROPERTYID,
AREAID,
ASSISTANTTYPEID,
CONSTRUCTTYPEID,