kettle,插入更新同步时间问题

image.pngkettle插入更新,有个同步时间字段,同步时间数据来源于获取系统信息,当有数据更改或者新增的数据时,同步时间就是获取系统信息的当前时间,数据没变化的同步时间都不变,大哥们这个该怎么实现,目前我每次插入更新的时候同步时间都会变成当前时间

其他问题 GGBoy 发布于 2025-3-28 11:16 (编辑于 2025-3-28 11:18)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-3-28 11:17

这个你kettle设置定时同步就可以了

根据事件做更新同步就可以

  • GGBoy GGBoy(提问者) 我把设置的图片放上去了,可以稍微详细说下嘛
    2025-03-28 11:19 
  • snrtuemc snrtuemc 回复 GGBoy(提问者) 你这个需求,我觉得不要kettle了,直接数据库设置,时间字段设置默认时间戳,这样新增就会默认有系统时间,然后设置表触发器,修改数据时候触发事件字段更新当前系统时间就可以,触发器可以自己搜索,根据数据库AI下就可以
    2025-03-28 11:23 
  • GGBoy GGBoy(提问者) 回复 snrtuemc 感谢回答哥,有时间我试一下!
    2025-03-28 11:31 
最佳回答
0
CD20160914Lv8专家互助
发布于2025-3-28 11:17(编辑于 2025-3-28 11:21)

这个好办呀。直接系统时间,然后你在数据中判断一下上一次是否有数据!!

1、组件,系统时间可变,再写一个判断获取你的数据是否有行数。最后可以走过滤走哪一步。或者在作业 中检查字段的值,都可以的

不能直接按你那样来。你那样没有判断到数据是否有新增还是无变化,你得保存一张中间的表,返回数据是否有更新,还是删除,还是修改了,这个转换过程得出他们对应的主键

然后根据主键把原来的数据做时间关联!!

A、要有主键,你这样肯定就知道数据是新增了,还是变化了,还是删除了

B、把这样的数据根据主键保存到中间表中去

C、再用主键关联原始的表,这样把系统时间带过去就行了

D、没有变化的话,肯定在关联的时候主键是不会返回数据的!!那么关联过去也是一个没有数据的,那么也不会存在更新

image.png

  • GGBoy GGBoy(提问者) 逻辑我明白,可以稍微详细说下嘛哥
    2025-03-28 11:19 
  • GGBoy GGBoy(提问者) 貌似明白了,我尝试一下
    2025-03-28 11:22 
  • CD20160914 CD20160914 回复 GGBoy(提问者) 你写多个转换,然后在作业中可以按顺序执行转换,这样一步步来就可以了!
    2025-03-28 11:22 
  • 3关注人数
  • 37浏览人数
  • 最后回答于:2025-3-28 11:21
    请选择关闭问题的原因
    确定 取消
    返回顶部