-
wyqmd 小试身手Lv3
发表于2018-12-29 14:53
关于业务系统中的数据,同步到数据工厂中,,在过程流配置这里,,我不知道应该选择什么样的 更新方式.
业务系统中的数据每天都有新建/更新,我应该选择那种更新方式 同步到数据工厂中来呢
不可能选择覆盖.数量量太大,每次都覆盖,没效率.
选择符加,又不知道 业务系统新做的数据,会不会符加进来.
选择数据更新? 更新插入?
有老师能说说这4种 更新方式的区别吗?
1个回答
本帖最后由 jizk 于 2018-12-29 18:01 编辑
首先解释一下这四种更新方式:数据附加、数据覆盖正如字面意思是附加到原数据后面或是覆盖掉原数据;数据更新就是根据主键判断传进来的数据,如果有对应主键的数据就更新,没有就忽略;更新插入与数据更新的区别就是更新插入会将没有对应主键的数据插入进来。
一般在业务上为了避免无意义数据的附加、或者是大量数据的覆盖这种低效率的插入数据方式;我们都采用增量更新的方式:
对应我们的组件也就是表输入组件与表输出组件,表输入组件可以实现数据的增量功能,表输出组件负责处理增量数据,表输入组件可以设置数据启用增量更新,其增量方式有时间戳增量、时间戳+主键增量、触发器增量等;这样一来我们取到的数据就是增量数据(避免了使用数据覆盖),然后表输入的增量方式选择更新插入即可。(相关的几种增量更新方式需要有一定的数据库知识,这里不做详细介绍。) 下面我做了一个简单的ETL例子:
可以看到我们只要设置表输入组件的增量方式和表输出组件的更新方式,灵活使用这两个组件就可以解决你的困扰了!