OLAP --ODS 项目总结 -- 说说缓慢变化维
2012-12-07 16:33
148 查看
如果不是OLAP 系统或者BI系统,我们在生产环境下常遇到这样的问题 需要同步两个表。比如交通驾驶人,每个月需要同步。
表O_DRIVER_SOURCE 是来自第三方的源表,O_DRIVER_TARGET是本系统需要使用的目标表。现在需要同步这两个表很容易想到的
解决方案是
1.使用存储过程,有点复杂
2. merge into 语句
这是一个很简单的原型,但是有个问题,假设 源表删除的数据,需要在目标表中删除,这是个问题。
现在如果更复杂些需要定时监控这些表的变化如何解决,基本的步骤如下
1. 全表扫描源表。取出ID。
2.将ID 在 目标表中对比。
3.如果存在则更新目标表的字段。如果不存在在插入该表。
如果使用的是ORACLE ,使用job + cdc 是一个更佳的解决方案。
现在看看如果在ETL中,这种表如何处理,我们称之为缓慢变化维。
现将在Informatic中如何运行的方式 贴一贴。
1.SOURCE的定义 O_DRIVER_SOURCE
2 SQOUCE QUALIFER :进行过滤
3 EXPERESSION : 增加一列new_flag 记录最新的数据行
4 LOOKUP组件查找目标表TARGET :look up 组件,查找数据
5 ROUTER组件 : 做数据分发
6 UPDATESTRAGE组件 :如果 new_flag 为0 ,则做更新,如果 new_flag 为1 则做插入,如果new_flag为-1 则删除
7 目标表TARGET :O_DRIVER_TARGET
表O_DRIVER_SOURCE 是来自第三方的源表,O_DRIVER_TARGET是本系统需要使用的目标表。现在需要同步这两个表很容易想到的
解决方案是
1.使用存储过程,有点复杂
2. merge into 语句
Merge into target O_DRIVER_TARGET Using O_DRIVER_SOURCE On ( O_DRIVER_SOURCE.driver_id=O_DRIVER_TARGET.driver_id) When matched then Update Set O_DRIVER_TARGET.info=O_DRIVER_SOURCE.info When not matched then Insert Values(O_DRIVER_SOURCE.driver_id,O_DRIVER_SOURCE.name,O_DRIVER_SOURCE.info);
这是一个很简单的原型,但是有个问题,假设 源表删除的数据,需要在目标表中删除,这是个问题。
现在如果更复杂些需要定时监控这些表的变化如何解决,基本的步骤如下
1. 全表扫描源表。取出ID。
2.将ID 在 目标表中对比。
3.如果存在则更新目标表的字段。如果不存在在插入该表。
如果使用的是ORACLE ,使用job + cdc 是一个更佳的解决方案。
现在看看如果在ETL中,这种表如何处理,我们称之为缓慢变化维。
现将在Informatic中如何运行的方式 贴一贴。
1.SOURCE的定义 O_DRIVER_SOURCE
2 SQOUCE QUALIFER :进行过滤
3 EXPERESSION : 增加一列new_flag 记录最新的数据行
4 LOOKUP组件查找目标表TARGET :look up 组件,查找数据
5 ROUTER组件 : 做数据分发
6 UPDATESTRAGE组件 :如果 new_flag 为0 ,则做更新,如果 new_flag 为1 则做插入,如果new_flag为-1 则删除
7 目标表TARGET :O_DRIVER_TARGET
相关文章推荐
- OLAP -- ODS 项目总结 -- 脚本自动化
- OLAP -- ODS 项目总结 -- BI 中的关键
- OLAP -- ODS 项目总结 -- ETL中的流程
- OLAP --ODS项目的总结 --起步阶段
- OLAP --ODS项目的总结 -- 平台选型,架构确定
- 数据仓库中缓慢变化维的总结
- 浅谈ODS与DW的区别-数据项目实战总结
- tky项目第③个半月总结
- iOS中 项目开发易错知识点总结
- iOS开发——完整项目实战Swift篇&百思不得姐Swift版总结(一)
- maven学习十之myEclipse搭建maven项目总结
- jsf项目总结3
- 项目细节总结
- ThreeMergeOne项目总结
- 关于fan客•尚汇项目开发的个人总结
- Lucene总结系列(二)--商品检索系统的文字检索业务(lucene项目使用)
- 网络机顶盒项目总结
- 项目演示总结
- Maven学习总结(11)——Maven 项目中pom.xml详解
- 项目总结