Informatica 增量处理

浏览: 2437

1. 增量抽取的时候,我们的时间戳字段是放在参数文件里面的,直接读取参数文件:

首先,我们需要在mapping里面新建2个variable

Clipboard Image.png

参数文件中的变量(注意:这个变量的值我是没有加引号的):

Clipboard Image.png

Clipboard Image.png

当然在workflow里面也是要加参数文件具体路径的,上面已经详细介绍过,这里不再赘述。

你可以有疑问了,为什么mapping中的变量要是string类型?参数文件中的变量到底什么时候要加引号?我的时间变量是写在参数文件里面那我etl程序执行完怎么去修改它的值?

先来解答第一个问题:

 时间戳类型要是mapping里面使用string类型,本人尝试过,如果将start_time,end_time设置成date类型,并在参数文件赋值,session运行时生成的sql就是lastUpdateDate>2013-08-1312:04:22  andlastUpdateDate<2014-08-03 16:04:22,这样满足不了日期类型直接用的问题,还是需要进行转换的,所以一般情况我们都是将其设置成string类型。

第二个问题,如果我的参数文件中没有给start_time,end_time的值加单引号,那在sql  query里面请一定加上单引号;如果我的参数文件里面添加了单引号那在sql  query里面无需再添加单引号,2种做法都可以。任选。

第三个问题,实际项目中,每个workflow都有自己的参数文件,特别是针对时间戳这样的值,如果你使用的时间戳是sessionstarttime,那么这个值是Informatica自身提供的,你不需要使用参数文件,如果你使用了参数文件里面的时间戳,那么你需要使用Unix shell中的sed命令对时间戳进行修改。

 

推荐 3
本文由 xiaoyaya 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册