美文网首页
Kettle合并记录 问题解决

Kettle合并记录 问题解决

作者: 孙沛2010 | 来源:发表于2017-09-19 12:47 被阅读0次

    Kettle 实现增量同步的一个关键,出现了异常,已经解决


    问题:获取到同步源和同步目标数据后,对比两者差异,用到了“合并记录”模块,通过简单的设置,包括--新旧数据源、标志字段、关键字段、数据字段,即可获得数据差异,其中包括deleted、new、changed、identical,看似已经获取所有想要的数据。

    但是根据标志字段进行下面同步操作时,(大数据量时,1-10万)数据总是不对。

    发现:新旧数据源都有的修改数据,有可能被“合并记录”模块标记成 
    A new
    A deleted
    这样,当操作db后,可能是先insert A,后delete A,结果表中就少了A。

    解决:根据发现的内容,有两种方案
    1.在操作db时,控制顺序,先delete,后insert,这样数据不会少
    2.我猜测,一个修改的数据可能在判断是新增、修改、删除时,在旧数据源没有最快找到记录,就标记成new,后面在旧数据源找到一条数据,在新数据源中(已经过去的数据不考虑)没有找到,就标记成deleted
    所以解决方法很简单,将新旧数据源都排序,这样得到了我想要的结果。

    相关文章

      网友评论

          本文标题:Kettle合并记录 问题解决

          本文链接:https://www.haomeiwen.com/subject/ggyyxxtx.html