










场景:之前我们讲过使用kettle自身实现DAG调度(串行、并行、依赖),kettle自身的DAG调度使用起来有些费力,今天我们一起学习下如何使用XKG-PDI来实现DAG调度。
1、创建三个task用于演示
不知道如何创建task的可以看我前面的文字,我这里提前创建好了3个task,分别为作业1_task、作业2_task、学生信息同步task。

2、创建DAG-串行
1)操作菜单:数据开发->DAG调度
点击新增按钮创建DAG,这里我们演示任务串行,执行顺序为作业1_task->作业2_task->学生信息同步task。输入名称和Cron表达式后保存我们设计的DAG。

2)保存之后可以看到我们已经成功创建了一个DAG任务流,点击操作列的允许按钮来运行任务流。

3)运行DAG任务流之后,可以在调度中心->作业监控这里看到我的运行日志。

4)点击任务流按钮可以看到运行概览图,如下图作业1_task和作业2_task运行成功,最后一个task运行失败。

5)点击节点详情,可以看到每个任务的具体执行状态,开始和结束时间,从下面可以清楚的看到任务的执行顺序。

3、创建DAG-并行
1)作业1_task执行完成之后并行执行作业2_task和学生信息同步task,如下图所示:

2) 并行设置成功之后,虚线+//方式进行标记。

3)点击DAG并行任务的立即执行按钮触发调度。

4)DAG串行任务流运行概览如下图所示:

5)通过查看节点运行记录,可以清楚的看到作业1_task运行结束之后,作业2_task和学生信息同步task同时开跑。

4、创建DAG-串行1
如下的任务流学生信息同步task依赖作业1_task和作业2_task,1_task和作业2_task都运行成功之后再运行学生信息同步task,那么1_task和作业2_task谁先运行呢?继续往下看


通过节点运行日志我们可以看到作业1_task先执行,然后作业2_task再执行,等两个task都执行完毕之后再继续执行学生信息同步task。

5、创建DAG-串行2
作业1_task下游分别有作业2_task和学生信息同步task,如下图所示


从运行记录可以清楚的看到它们的执行顺序:作业1_task执行完毕之后执行作业2_task,最后执行学生信息同步task。

6、DAG依赖
除了任务之间可以依赖,DAG任务流之间也可以设置上下游依赖,这里不过多介绍,后续小伙们可以自行探索。


此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。