Informatica_(4)工作流

  • 格式:pdf
  • 大小:196.85 KB
  • 文档页数:6

Informatica_(4)⼯作流

三、workflow执⾏、监控workflow是PowerCenter的执⾏单元;

⼀个workflow包括⼀个或者多个session(或task)。

1.session

session是mapping的实例化。

session是给mapping提供配置⽂件的场所或机制。

有了这些配置信息,mapping就可以执⾏了,所以说session是mapping的⼀个可执⾏实例。session的两种类型:Reusable session(可重复使⽤)和⾮Reusable session(不可重复使⽤)。

1.1 Reusable session(可重复使⽤session)

创建⼀次,可以被多次重⽤。

选中“Task Developer”,打开菜单“Tasks--》create”,输⼊session名点“create”,选择对应的mapping.Reusable session可⽤以多个workflow或者worklet。

1.2 ⾮Reusable session(不可重复使⽤session)

先创建workflow,再创建session。

选中“workflow designer”,打开菜单“workflows--》create”,输⼊workflow名点“OK”,workflow的起始点“Start”创建成功;

再在workflow的⼯作区内创建session,即⾮Reusable session。

⾮Reusable session可以转换为Reusable session,双击session,选中“make reuseable”。

2.workflow

2.1 并⾏执⾏

⼀个workflow同时链接多个session,并且多个session之间没有依赖关系,可以并⾏执⾏以提升效率。2.2 串⾏执⾏

⼀个workflow同时链接多个session,并且多个session之间存在依赖关系,需要按照依赖关系顺序依次执⾏。

例外处理:对于后⼀个session依赖于前⼀个session的运⾏状态时,双击连线,增加条件“$session1.status=succeeded”2.3 调度:周期性的定时运⾏workflow

在“workflow designer”中打开⼀个workflow,打开菜单“workflows--》edit--》Scheduler Tab”,选中"Non Reuseable",点“应⽤”,

设置完成后,需要执⾏Schedule workflow。

3.worklet

worklet也是task/session的集合(和workflow⼀样);

worklet不能单独运⾏,只能放在workflow中,作为workflow的⼦集运⾏(和workflow的区别)。

worklet可以被⼀个或多个workflow调⽤。

选择“worklet designer”,打开菜单“worklets-->create”,worklets虽然也有“Start”,但他不可以独⽴执⾏。

只有将worklets加⼊到workflow中才可以被执⾏。

4.command

command是workflow中的⼀个Task。

可以使⽤command调⽤外部命令或者shell。

5.control

control task 提供了通过workflow/worklet内的任务,控制workflow/worklet状态的能⼒。

当关键任务失败时,可以将进程指向control task,

在control task内设置控制选项。

6.发送e-mail

6.1 配置发送e-mail

需要配置集成服务确保其能够发送邮件;

在PowerCenter服务器端安装PowerCenter⽀持的发送邮件e-mail的客户端;--单独安装邮件服务器。

PowerCenter是否能发送邮件事实上和(具体的)邮件服务器⽆关,

重要的是邮件客户端是否⽀持相关的协议,并且该客户端可以⽀持相应的邮件服务器。

6.2 在workflow中使⽤e-mail

1.在workflow/worklet中发送e-mail

2.在session的components Tab中发送e-mail

3.在workflow的General Tab中发送e-mail

7.event tasks

event raise触发事件,

event wait等待event raise触发的事件,

⼀旦获得了正在等待的时间,就会触发其后续的Task。7.1 ⽤户⾃定义事件使⽤

⽤户⾃定义事件需要在workflow中定义⼀个Event对象。⾸先在workflow中定义事件。菜单“workflows-->edit”,选中events Tab,增加⼀个事件(EventX);

在workflow中可以使⽤event raise和event wait;

在event raise中配置需要抛出的事件(EventX);

在event wait中配置需要监听的事件(EventX);

当事件(EventX)被event raise抛出后,event wait将监听到事件(EventX),从⽽触发后续的流程。7.2 预定义事件使⽤

预定义事件是⼀种File-Watch事件,即event wait等待⼀个触发⽂件(.trigger⽂件)。

由⼈为⼿动触发,仅使⽤event wait任务监听是否发现触发⽂件(.trigger⽂件)即可;

当发现该⽂件后,event wait任务触发后续的流程。

触发后触发⽂件(.trigger⽂件)不会被⾃动删除,

在event wait的属性页签配置delete filewatch file选项即可删除触发⽂件(.trigger⽂件)

8.timer

timer是⼀个定时任务,它可以指定后续任务的启动时间。

在timer页签指定时间,包括绝对时间和相对时间。

绝对时间可以使⽤物理时间,也可以⽤变量指定。

相对时间是指定距离上⼀个任务启动的时间间隔。

9.decision

decision Task⽤于多个前置任务的与或⾮判断。

“$s_1.Status=succeeded OR $s_2.Status=succeeded OR $s_2.Status=succeeded”

即前3个session只要有⼀个成功就执⾏后续session。

10.assignment

assignment Task的作⽤是给⽤户定义的变量赋值(赋值可以是⼀个常量或者⼀个表达式)。

给workflow定义⼀个变量,菜单“workflows--》edit”,选择Variables页签,输⼊变量名($$var_int)、类型、是否永久。

在assignment Task中定义“$$var_int:=$$var_int+1”,并在后续的link condition中使⽤该变量做判断。

四、常⽤功能汇集11.debugger

D客户端--》Mapping--》Debugger--》Start Debugger命令(快捷键F9);

依次选择Next--》Using Existing Session--》Next--》Next即可。

菜单功能:Start Debugger (快捷键F9) 开始调试;

Next Instance (快捷键F10) 继续运⾏;

Continue (快捷键F5)运⾏到下⼀个断点,如果没有断点,则运⾏到结束;

Edit Breakpoints (快捷键Alt+F9) 编辑断点

Evaluate Expression 对表达式进⾏计算

进⼊Debug模式后,会在下⽅输出窗⼝看到mapping中任⼀组件正在流⼊的数据和计算的结果。

12.Mapplet/Reusable transformation

Mapplet/Reusable transformation类似与存储过程和函数,是某⼀种功能的集合,是为了提供公共功能的可重⽤性。

Mapplet与Reusable transformation区别在于Reusable transformation只能使⽤⼀个转换组件,Mapplet可以使⽤多个转换组件。

12.1 Reusable transformation

Reusable transformation是⽤⼀个转换组件实现通⽤功能;

所有的Mapping都可以调⽤,但不能修改;

只能在Reusable transformation中进⾏修改,并且修改后所有调⽤的mapping全部适⽤。

举例:

⼯资加100

12.2 Mapplet

Mapplet是⽤多个转换组件实现通⽤功能,可是实现⽐Reusable transformation更复杂的功能;

所有的Mapping都可以调⽤,但不能修改;

只能在Mapplet中进⾏修改,并且修改后所有调⽤的mapping全部适⽤。

点击“Mapplet Designer”,菜单Mapplet--》create,Mapplet Input--》转换组件--》Mapplet Output

注意:Mapplet可以包含源表,但是不能包含⽬标表。

举例:

只对⼯资⼩于2000的员⼯⼯资加100

13.shortcut快捷⽅式

shortcut是为了解决数据源、数据⽬标或其他对象在跨Folder(⽂件夹)和跨Repository(存储库)⽅⾯的⼀致性及可重⽤能⼒。

⽤于解决公共对象重复存储的问题,及重复存储所带来的同步更新问题。

解决⽅案:

创建⼀个Global Repository作为公司级的共享对象管理和存放位置;

在每个Repository中创建⼀个共享⽂件夹作为部门级的共享对象管理和存放位置。

分别成为Global shortcut和Local shortcut。

可以创建shortcut的对象包括:源定义、可重⽤的transformation、Mapplet、Mapping、⽬标定义、业务组件。13.1 Local shortcut:在同⼀个存储库下的不同⽂件夹内共享。创建Local shortcut是在同⼀个Repository中从共享⽂件夹向其他⽂件夹创建共享对象的过程。

⾸先,创建共享⽂件夹。在R客户端,菜单“Folder--》Create”,勾选“Allow shortcut”。

其次,将所有公共的对象创建到共享⽂件夹中。

最后,创建Local shortcut,同时打开共享⽂件夹和其他⾮共享⽂件夹,将共享⽂件夹中的某个对象拖⼊⾮共享⽂件夹中。

在⼯作区双击shortcut,即可查看shortcut的详细信息。

13.2 Global shortcut:在不同存储库之间共享。

创建Global shortcut是在不同的Repository之间从Global Repository向Local Repository创建共享对象的过程。

⾸先,必须有⼀个Global Repository和⼀个Local Repository。PowerCenter默认创建的Repository都是Local类型,需要将Local存储库升级为Global存储库。

在控制台(Admin Console)中,选择要升级的Local Repository,在属性Tab中编辑,将Global Repository的值由false改为true;

注意:模式必须是独占,并且该升级是不可逆的。