标签: talend talend-mdm
我有一个表(目标)有5行,其中一列名称:slno有值(12,13,14,34,56),我需要根据目标的最大值从源表加载数据到目标。
(12,13,14,34,56)
示例:
如果在源表中slno列的值为(12,13,14,34,56,88,89,90,99),则只有(88,89,90,99)值应该转到目标(以及所有行值),基本上我需要从目标中找到最大值并基于该值我需要在该值之后加载行。
(12,13,14,34,56,88,89,90,99)
(88,89,90,99)
我尝试使用tJavaRow,tSetGlobalVar,tAggregateRow,但无法弄清楚如何映射。
tJavaRow
tSetGlobalVar
tAggregateRow
答案 0 :(得分:0)
有很多方法可以做到这一点。
如果源表和目标表位于同一个数据库中,则可以按如下方式过滤源查询:
select * from source where slno > (select max(slno) from target)
然后加载目标表中的行。
但如果不是,你可以在Talend中做到:
目标查找获取slno的最大值:
SELECT max(slno) FROM target
其架构只包含一列(max_slno):
在tMap内,只发送源的slno大于目标slno的最大值的行:
tMap