[ABI 5.1] ETL设计区“表输入”增量更新答疑

10029
5

sgg 小试身手Lv3

发表于2020-4-13 00:24

悬赏10

已解决

楼主

1、这几种增量更新的定义和区别;
2、二次开发,原始业务库的表中新增了某个字段,ETL的ODS层应该选择什么样的更新方式?

最近看过此主题的会员

esen_532UKMNNIB

liguangliang

esen_4Y7CUM9LAB

esen_4Y3L5ADO80

ch023011

最佳答案
时间戳增量(改名为主键+时间戳增量)
它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,业务系统中更新修改表数据的时候,同时修改时间戳字段的值。当执行交换任务表输入时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。
其历史表名为:XXX_TS
全表比对增量
设置后,会将源表主键以及比对字段的值,写入到历史表。每次执行交换任务表输入时,对源表和历史表的比对字段值进行比对,从而决定决定抽取哪些数据。
其历史表名为:XXX_FT
MD5增量
设置后,会将源表主键以及根据比对字段的数据计算出来的MD5校验码,写入到历史表。每次执行交换任务表输入时,对源表和历史表的MD5校验码进行比对,从而决定决定抽取哪些数据。
其历史表名为:XXX_MD
触发器增量
在源表上建立需要的触发器,每当源表中的数据发生变化(插入、修改),就被相应的触发器将变化的数据写入一个历史表中,当执行交换任务表输入时,通过历史表数据的值来决定抽取哪些数据。
其历史表名为:XXX_TR
变量型增量
其他增量方式会在源表的库里面创建一张增量数据表,但是有时候对于数据库安全性要求较高时不允许用户改动源库,此时需要一种新的增量:时间戳增量来实现该功能。
变量型增量更新方式,与上一次记录的时间戳字段最大值比对,大于上次记录的最大值认为是最新数据进行输出。
变量字段:源表中用来存放记录更新时间的字段(必填项)。
5个回答

只看楼主

大哥很IT 数据老手Lv5

发表于2020-4-13 08:38

只看该作者

取消 关注该作者的回复

沙发

http://bbs.esensoft.com/thread-135091-1-1.html看下这个帖子能不能帮到您?

sgg 小试身手Lv3

发表于2020-4-13 09:53

只看该作者

取消 关注该作者的回复

板凳

大哥很IT 发表于 2020-4-13 08:38
http://bbs.esensoft.com/thread-135091-1-1.html看下这个帖子能不能帮到您?

谢谢老师,这个帖子跟ODS层的数据更新没有关系。

缱绻 数据领袖Lv6

发表于2020-4-13 00:24

只看该作者

取消 关注该作者的回复

地板

时间戳增量(改名为主键+时间戳增量)
它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,业务系统中更新修改表数据的时候,同时修改时间戳字段的值。当执行交换任务表输入时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。
其历史表名为:XXX_TS
全表比对增量
设置后,会将源表主键以及比对字段的值,写入到历史表。每次执行交换任务表输入时,对源表和历史表的比对字段值进行比对,从而决定决定抽取哪些数据。
其历史表名为:XXX_FT
MD5增量
设置后,会将源表主键以及根据比对字段的数据计算出来的MD5校验码,写入到历史表。每次执行交换任务表输入时,对源表和历史表的MD5校验码进行比对,从而决定决定抽取哪些数据。
其历史表名为:XXX_MD
触发器增量
在源表上建立需要的触发器,每当源表中的数据发生变化(插入、修改),就被相应的触发器将变化的数据写入一个历史表中,当执行交换任务表输入时,通过历史表数据的值来决定抽取哪些数据。
其历史表名为:XXX_TR
变量型增量
其他增量方式会在源表的库里面创建一张增量数据表,但是有时候对于数据库安全性要求较高时不允许用户改动源库,此时需要一种新的增量:时间戳增量来实现该功能。
变量型增量更新方式,与上一次记录的时间戳字段最大值比对,大于上次记录的最大值认为是最新数据进行输出。
变量字段:源表中用来存放记录更新时间的字段(必填项)。

sgg 小试身手Lv3

发表于2020-4-14 00:49

只看该作者

取消 关注该作者的回复

5#

缱绻 发表于 2020-4-13 16:30
时间戳增量(改名为主键+时间戳增量)
它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字 ...

谢谢老师,那:二次开发,原始业务库的表中新增了某个字段,ETL的ODS层应该选择什么样的更新方式?

缱绻 数据领袖Lv6

发表于2020-4-14 09:51

只看该作者

取消 关注该作者的回复

6#

sgg 发表于 2020-4-14 00:49
谢谢老师,那:二次开发,原始业务库的表中新增了某个字段,ETL的ODS层应该选择什么样的更新方式? ...

我理解是全表比对增量

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号