一、缓慢变化维:
表示源表中的数据被更新,我们开发Informatica的缓慢变换维,让目标表中的数据跟着更新(原有的做更新,没有的做插入)。
二、案例:
需求:
--源表(oracle) -----> 目标表
--OLTP(oracle的oltp用户下) -----> EDW层(oracle的edw01用户下)
--department -----> department 地区维度表
说明,源表主要字段
三、开发流程简述:
1、定义源
2、定义目标,生成并执行sql
3、定义映射
--创建映射M_EDW_DEPARTMENT
--拖入源表和目标表,使用Lookup查找组件查找目标,根据查找的结果进行判断
--使用Router进行不同条件的分发,
--使用更新策略转换(插入、更新)
--拖入两个目标表,连接映射,ctrl+S保存
4、创建任务,添加连接关系,修改任务映射,ctrl+S保存
5、创建工作流,连接任务,保存,通过任务启动工作流。
6、M端:工作流调度监控
7、目标数据库查验数据
8、更新和添加源数据,从新执行 缓慢变化维,检验效果
--更新源表数据
UPDATE department SET dept_name = '海淀', full_name = '海淀', dept_no = 'haidian' WHERE dept_id = '0000000349';
UPDATE department SET dept_name = '丰台', full_name = '丰台', dept_no = 'haidian' WHERE dept_id = '0000000350';
UPDATE department SET dept_name = '朝阳', full_name = '朝阳', dept_no = 'haidian' WHERE dept_id = '0000000351';
UPDATE department SET dept_name = '东城', full_name = '东城', dept_no = 'haidian' WHERE dept_id = '0000000352';
UPDATE department SET dept_name = '大兴', full_name = '大兴', dept_no = 'haidian' WHERE dept_id = '0000000353';
UPDATE department SET dept_name = '西城', full_name = '西城', dept_no = 'haidian' WHERE dept_id = '0000000354';
--插入源表数据
insert into DEPARTMENT (DEPT_ID, AREA_ID, LEVEL_NO, DEPT_NO, DEPT_NAME, FULL_NAME, DEPT_TYPE_NO, DEPT_STATUS, DEPT_GROUP, CREATOR_ID, CREATE_TIME, DOMAIN_NO)
values ('0000008888', '0000008888', '107078888', '888', '天坛社区', '天坛社区', '5', null, null, null, to_date('19-12-2019 12:12:00', 'dd-mm-yyyy hh24:mi:ss'), '0000008888');
--从新启动任务,插入一条,更新743条
--再次查验目标数据