Informatica定时任务、常见问题、注意事项

1. 定时任务 schedule
Infa workflow 可以设置定时任务 schedule(db 中称 job),以什么样的频率重复执行,什么时候开始,什么时候结束。这样任务可以自动跑,不需要人工干预。schedule 可以做成可复用,但使用范围仅限于当前的 folder。下面看看 schedule 怎么建的,在 workflow 视图,按以下步骤,如下图所示:

1577696883-c684262feaa6152

1577696887-46cc33fc24dede5

当想暂停 schedule 时,可以勾选 “Run on demand”。这部分很简单,不做过多的解释。做好的 schedule 需要设置在 workflow,设置方法如下图所示:

1577696890-489e0a862e5cccd

也可以不选择可重用的 schedule,可以勾选 “Non Resuable”,设置方法跟 Resuable 的 schedule 是一样的。

2. 定期运行 workflow
在定时执行 workflow 时有一个场景是 schedule 解决不了的,假如我们想在一天之中的某些时间段执行,在另外的时间段不执行,有什么办法?其实,可以在 workflow 利用系统的变量做,点击 session 之间的 线,如下图所示:
1577696893-440cbd78903afa8
可以猜到,这个 session 在上午 7 点以后执行,根据系统的参数可以做些其他灵活的控制。

3. 手动调整 source、target
source、target 开始导入后,可能会根据需求调整结构,如果结构调整的比较大,一般重新导入覆盖就可以了。如果调整不大,其实可以手动调整的,比如新增了字段,修改了字段长度,前提是保证与 db 的 table 结构一致,如下图所示:

1577696897-0283877e1d7df50
4. 解决 workflow 失败引起的 schedule 失效问题
在设置了 schedule 的 workflow 运行过程中会出现 workflow 出现错误,这时候设置的 scheduled 状态就会变成 unscheduled,也就是不管用了。其实可以采取一种迂回的方法来控制,即用另一个基本不会跑失败的 workflow 去控制实际的业务 workflow,这个控制的 workflow 的作用是启动业务 workflow。说了这么多,不如看看示例,先看下怎么建这个控制 workflow,如下图所示:
1577696899-75c4c82992899cb
首先,拖一个 cmd 组件进来,我们要用它写一段命令,去启动另一个 workflow,编辑 cmd 组件,如下图所示:
1577696903-37d36aa68eaaa32
可以看到这个 session 将通过 pmcmd 启动业务 workflow,我们再对这个控制 workflow 设置一个 schedule,因为这个 workflow 失败的可能性基本为零,所以可以保证 workflow 的不间断性。

5. 哪些可以做成可重用的?
Infa 很多东西都可以做成可复用的,比如 transformation、mapping、session、workflow 等,比如下面是一个 lookup 的复用组件(属于 transformation):
1577696906-1f4af862b49c4d5
mapping 的复用,称为 maplet,如下图所示:
1577696909-746232e8b275636
可以看到这个 maplet 传入了一个参数,通过一个 lookup 组件,输出了两个参数值。开发不同的东西需要切换到不同的视图下,注意看截图中上面的小按钮。workflow 也可以做成 worklet,就是把 workflow 拆成一个个小的,worklet 的开发视图如下图所示:

1577696912-8bfe15df3f2d300
6. Infa 监控报警机制
Infa workflow 的监控还是很有必要,执行失败后如果能推送出来(邮件),就可以及时解决。基本思路是:主要通过记录 session 的执行状况来做,session 可以在执行成功、失败后执行一段脚本,可以将 session 的运行结果记录下来,插入到 Infa 的日志表。通过分析运行日志表,可以定期推送失败、错误的 session 信息,邮件发送出来。session 的设置方法,如下图所示:

1577696918-92af2ddbc882484

其中,$PMFolderName、PMWorkflowName、PMWorkflowRunId、PMSessionName 一看就知道;0 代表成功(自定义),Events__c 是 target 的名字;@numAffectedRows、@numAppliedRows、@numRejectedRows 分别是对 target 的影响记录数、采用记录数、拒绝记录数。

打赏

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

支付宝扫一扫打赏

微信扫一扫打赏

本站所有内容均来自于互联网自动采集,如无意侵犯了您的权利,请您发送邮件到admin@chinaetl.com.cn联系管理员删除。
ChinaETL » Informatica定时任务、常见问题、注意事项