更新插入和遛狗: FME 2019中变化检测的新功能

原文链接:

https://blog.safe.com/2019/01/change-detection-2019-fmeevangelist184/

 

最近我讨论了关于数据库的更新,提到有两个常见的场景。https://i-blog.csdnimg.cn/blog_migrate/f40344975a8c68f0ebc762259730e37d.jpeg

一种是你收到更新日志——要更新的列表——将它们应用到你的控制数据库。这是简单的一种情况,因为你提前知道变化的内容以及需要更新的要素。

 

第二种更新是你收到一个完整的新数据集,没有任何提示告知哪些是新增的或更新的。这种情况就需要你进行变化检测。这之前,我们经常使用FME Hub转换器的一个叫做UpdataDetector的转换器。但是在2019中,我们对ChangeDetector转换器做了很好的更新升级,从现在开始,它应该成为你的首选转换器。

 

一、变化检测: 有什么新的功能?

在2018及之前的版本中,ChangeDetector转换器将“original”端口的数据集与“revised”端口的进行比较,然后将要素分别输出到Added,Deleted和Unchanged端口。

  • Added: 在修订(revised端)数据集中存在,而原始数据集中不存在的记录
  • Deleted: 在原始数据集中存在,而修订(revised)数据集中不存在的记录
  • Unchanged: 修订(revised)数据集中与原始数据集中匹配的记录

但是,它无法识别更改的记录。如果一个记录在修订数据和原始数据中都存在,但是现在它的属性值不同,那么将被当作一个新的要素(从Added输出)。这使得执行“更新”(记录已经存在时,进行数据库更新)变得困难,因为很难判断某个要素是否是真正的新要素。

 

在2019中,这个转换器能够处理更新记录。新转换器的设计将更新的要素通过Updated输出端口输出:

所以这是非常重要的。它极大的拓宽了这个转换器的变化检测范围。

但是,存在原始要素与修订要素进行匹配时的问题。没有原始记录进行比较,FME无法判断修订要素是否被更新。这个通过关键属性值来完成,意味着2019中ChangeDetector具有新的参数:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值