Informatica参数与变量

1. 参数的使用
1.1 存放目录
参数文件并没有规定一定要放到哪个目录下面,我们一般在 Server 端的根目录(/server/infa_shared/)新建一个 Folder,比如 “ParamFiles”。我们在1.3 小结会给 Session 或 Workflow 指定参数路径。

1577696397-db800b30c6cad58
1.2 参数类别
Infa 参数按照作用域不同可分为:全局类型和局部类型,局部类型可以指定在某一个 Session 或 Workflow 下使用,先看下参数是怎么定义,如下图所示:
1577696400-f061ebe89d08b2e
可以看到全局参数需要标明 “[Global]”,另外如果定义的是数据库连接的参数,前缀必须带 “$DBConnection_”;如果是限定在 Session 内使用,格式应为 “[FolderName.SessionName]”;如果是 Workflow 范围的参数,格式为 [FolderName.WF:WorkflowName]。

1.3 设置路径
参数文件的路径在 Session 或 Workflow 上指定,比如下面是在 Session 上设置的截图:
1577696417-aa035fec355e726
下面截图则是 Workflow 上的设置位置:
1577696422-bb6e344271a5c86
当然,Session 上设置的参数就不能跨 Session 使用,而 Workflow 则可以跨 Session 使用,因为一个 Workflow 可能包含多个 Session。不过 Session 可以设置为可重用,各有各的好处,视具体场景而定。

1.4 数据库连接
数据库的连接可以设置为参数,在 Workflow 中用参数指定,一般 Workflow 中的 Source、Target、Lookup 都需要指定 DB 连接,设置方法如下图所示:

1577696427-e226f2f2b519bc6
2. 变量的使用
2.1 常用的变量使用方法
接着是变量的使用,比较常用的变量是用在 Mapping 里,选中 Mapping 菜单,如下图所示:
1577696431-dd079f29aba11ef

1577696437-b387c5f4aa3bc2e

这里我们设置了两个变量,为了实现增量同步的需求,这两个变量保存的每一次同步的数据里的 Id、UpdateTime 的最大值,这样我们在下次取数据的时候就可以该值作为下一批数据的时间戳来取。当然,我们需要在 Mapping 中,对这两对变量做赋值,如下图所示:
1577696440-dc756c8cc7f581d
上图红框内的语句是设置这批数据最大的值给变量。

2.2 另一种变量使用方法
上述的变量是需要在 Mapping 先定义再使用的,有一种方法是不需要定义,在 Workflow 运行时临时赋值,直接使用的。比如下面的 Mapping 里我没有定义变量,直接在 Source Filter 中使用,如下图所示:
1577696444-a7e28df776483ef
再看看 Workflow 的截图:

1577696449-b3c6656f9fef250

上图红框内的 Session 的作用是从 DB 中读取时间窗的两个值(StartTime,EndTime),然后 load 到文本文件,然后在该 Session 执行成功后,给两个变量赋值,这样,我们就拿到这两个变量的值了。

打赏

觉得本站还不错就打赏一下吧!

支付宝扫一扫打赏

微信扫一扫打赏

本站所有内容均来自于互联网自动采集,如无意侵犯了您的权利,请您发送邮件到admin@chinaetl.com.cn联系管理员删除。
ChinaETL » Informatica参数与变量