1. 概述
ETL任务流用于完成ETL任务的前驱后继关系和调度顺序的定义。本文通过一个简单示例讲解如何创建ETL任务流。
2. 制作步骤
2.1新建ETL任务流
这里我们已经创建好了名为【个人周报】和【员工请假】的ETL任务,现我们要新建一个ETL任务流完成【个人周报】和【员工请假】两个ETL任务的依次执行。
打开设计区的ETL任务流列表,点击【新建】,打开到ETL任务流设计器界面。


2.2设计任务执行顺序
1)添加任务组件
选择右侧组件面板中的【ETL过程】组件,拖到右侧编辑区。

2)连接任务组件
鼠标悬浮到前置任务组件中间位置,会出现一个黄色箭头的圆点
,并且鼠标会由指针变为手状,鼠标拖动这个圆点向右移动,这时黄色箭头也会跟着向右移动,然后将鼠标落在需要连接的组件中央,松开鼠标即可完成两个任务组件的连接。如下图所示:

拖动组件靠近另一个组件时也会自动创建两个组件之间的连线。

3)设置任务组件
双击刚才添加的【ETL过程】组件,在弹出的属性窗口中选择个人周报,如下图:

同理,再添加一个ETL过程组件作为【个人周报】组件的后置组件,选择【员工请假】ETL任务,如下图所示

4)设置执行逻辑
对于连接的两个任务组件,默认是前置组件执行成功后再执行后置组件,前置组件执行失败,则后置组件不会执行。也可以进行设置,在连接线上右键可设置执行逻辑。

- 无条件执行:不管前面的组件是否执行成功,后面这个组件都会执行。
- 当结果为真的时候继续下一步:前面的组件执行成功后后面的组件才会执行;前面的组件如果执行失败,则后面的组件不会执行。
- 当结果为假的时候继续下一步:前面的组件执行失败后后面的组件才会执行。
- 这里,我们不做修改,就采用默认的当结果为真的时候继续下一步。
2.3检查ETL任务流
组件设置连接完成后,点击菜单栏中的检查按钮,系统会对ETL任务流进行语法检查。在点击发布按钮时系统也会先执行检查,当检查不通过时不允许发布。
当检查不通过时,会在编辑区下方的【检查消息】区内输出异常设置信息,如下图:

根据检查消息对组件设置进行修正,直至检查通过。
2.4保存ETL任务流
点击菜单栏【保存】按钮,在弹出的保存对话框中设置ETL任务流的名称和标题即可完成保存,如下图:

至此,一个ETL任务流创建完成。
3. 多任务串行或并行
3.1串行
所谓串行是指一个任务执行完后在执行另一个任务,同时只有一个任务在执行。比如我们刚刚制作完成的“个人周报和员工请假ETL任务流”就是一个串行的例子,个人周报抽取执行完成后在执行员工请假抽取。
3.2并行
当任务之间没有依赖关系时,我们可以使用并行加快抽取速度。所谓并行是由某一任务出发,形成多个分支链路,多个分支之间同时执行。
想要使多个任务并行执行,需要在任务流中使用分支组件,并勾选“并行执行后续任务”,设置成并行执行模式,如下图:


由上述设置,以下3条链路并行执行(同时执行):
(1)交换任务1 – 交换任务2
(2)数据抽取1–数据抽取2
(3)任务1– 任务2
各分支链路内部是串行执行,如:“交换任务1”执行完成后,再继续执行“交换任务2”,同理,“数据抽取1”执行完后再执行“数据抽取2”。
4.批量新建任务流
4.1多个任务批量新建一个任务流:
在任务流定义页面,操作栏中新增了一个批量新建得按钮。

点击批量新建,弹出批量新建任务流得属性框,在这里我们可以选择新建任务流得方式,这里有两种方式,一种是多个任务新建成一个任务流, 另一种是多个任务新建多个任务流。前者需要设置各个任务之间得关系,包括运行关系和依赖关系。在这里我们以新建一个任务流为例,设置任务流之间得关系为串行,任务之间的依赖关系为当前面ETL执行成功继续下一步,任务流标题自定义,点击下一步。

下一步就需要我们选择任务流种所需要的任务,在这里我们选择了4个ETL任务。

点击下一步,任务流就创建完成了。

在任务流编辑页面可发现,所选择的四个任务之间的关系是串联关系。

这样多个任务批量新建一个任务流就的操作完成。
4.2多个任务新建多个任务流:
在任务流定义页面,点击批量新建按钮,新建方式选择批量新建多个任务流。

批量新建多个任务流,仅需设置新建任务流的标题,以及任务流存放的路径即可。其中任务流标题中<#=ETL_NAME#>为对应的任务名称,支持添加前后缀。此处我们添加了_PLXJ的后缀。任务流存储路径为批量新建的分组下。

点击下一步,选择我们任务流中所需要的任务。

点击下一步,三个带_PLXJ后缀的任务流就新建成功了。我们进入对应的分组下查看即可。


这样批量新建多个任务流的操作就完成了。
请先登录