关于Informatica增量抽取时间戳的管理

本文总结了在Informatica中进行增量抽取时时间戳的管理方法,包括三种策略:1) 使用自建变量和系统变量;2) 通过日期增量更新;3) 表管理时间。详细介绍了每种策略的实施步骤和优缺点,特别是异构数据库间的操作和参数文件的使用。
摘要由CSDN通过智能技术生成
目前在做的项目涉及到了增量抽取,就增量抽取时间戳的设定做点总结。
     
     项目中涉及到了OLTP库(DB2)、Informatica这方面建了三个库,分别为CDS、ODS、DW,这三个库均为Oracle数据库。
OLTP库中的表均有自更新时间(self_update_time)字段,标识下级节点上报到OLTP库节点的时间;CDS、ODS、DW三层库也均有ETL_LOADTIME字段,分别标识数据到本库的时间戳。
     CDS库只存放每次增量的快照,ODS存有历史数据(相当于OLTP的拷贝),DW库就不用说了 。

     在OLTP->CDS抽取和ODS->DW抽取时均要要用时间截取增量数据,对于这块时间的使用讨论如下:

     1、第一种方式,同样也是最简单、最经典的方式。使用自建变量string($$Vtime)和系统变量($$SessStartTime)
OLTP->CDS:
在SQ组件的sql覆盖中加where字句:    where self_update_time>=to_date('$$Vtime','yyyy-mm-dd hh24:mi:ss')
                                                                 and self_update_time<to_date('$$SessStartTime','yyyy-mm-dd hh24:mi:ss')
                (注:这块在运行会话时有可能会报错,是因为此处字符转换格式的问题,字符转换的格式具体要依库而定,帮助文档里有常用库的转换格式。也可在日志中查找错误信息,错误信息对转换错的字符格式有显示,可根据其更改成相应格式即可)
     变量$$Vtime 在此使用过之后,在后续的Exptrans组件中更改变量的值,以备下次抽取使用。更改表达式如下:
                                                                 SETVARIABLE ($$VTIME,to_char( SESSSTARTTIME,'yyyymmddhh24miss' ))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值