前阵子,面试考官问我缓慢变化为实现过么。答案是没有,接触ETL一年以来做了不少interface,procedure,package 通过ODI实现
却从来没有实现过缓慢变化维相关的ETL。
今天实现了个小例子:
1.是没有自己开发KM,通过ODI自带的 IKM Oracle Slowly Changing Dimension KM. 实现的(所以实现之前确保你有此KM,如果没有就需要你手工导入喽)
2.按照缓慢变化维的场景自己创建source表,target表
这里就以TRG——employee表为例子进行讲解
a.代理键:EMP_ID
b.逻辑主键:EMPNO
c.标识符:ACTIVE_FLG
d.开始时间:EFP_BEG_DT
e.结束时间 :EFP_END_DT
f.按照某一列变化插入数据:ename,job
g.按照某一列变化更新数据:all other columns
‰
如图所示设置上述描述
设置好了datastore中的选项继续制作Interface,如图所示
注意:Interface中IKM选择IKM Oracle Slowly Changing Dimension KM.,这时LKM中的flowcontrol选择false
这样就实现了缓慢变化维的小例子
自己再测试的时候再按照缓慢变化维意义更新下source观察target表的变化,就成功实现了