azkaban设置依赖,并且多个任务并行执行

本文详细介绍了Azkaban平台中如何通过设置任务依赖实现作业的有序执行及并行处理。通过具体示例,展示了如何配置单个任务依赖、多个任务依赖以及如何通过依赖关系实现任务的并行执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在azkaban的任务调度中,设置依赖可以完成对任务的调度,

脚本如下:

第一个job:命名为    ods_actlog.job

---
config:
  #failure.emails: xx@xx

nodes:
  - name: ods_actlog_sql_job
    type: command
    config:
      command: sh ods_actlog.sh

第二个命名为   dw_actlog_product_view.job

---
config:
  #failure.emails: xx@xx

nodes:
  - name: dw_actlog_product_view_sql_job
    type: command
    dependencies=ods_actlog     #设置依赖。后面是跟随的job
    config:
      command: sh dw_actlog_product_view.sh

这两个脚本指的是:第一个先执行,第二个后执行,具有先后顺序,这两个打包给azkaban后会自动判断依赖关系,结果为这样:

---------------------------------------------------------------------------------

另外就是想要设置各个job之间的并行执行

这时候就可以设置多个job的依赖同一个job。如下

第一个job是: dw_actlog_product_view.job

---
config:
  #failure.emails: xx@xx

nodes:
  - name: dw_actlog_product_view_sql_job
    type: command
    config:
      command: sh dw_actlog_product_view.sh

第二个是: region.job

---
config:
  #failure.emails: xx@xx

nodes:
  - name: region_sql_job
    type: command
    config:
      command: sh region.sh

这样两个本来是不相关的两个job,如果想要这两个job执行完了,在执行第三个job(第三个job依赖第一个和第二个的数据进行计算),这样的话添加第三个job:

mid_actlog_product_view.job
---
config:
  #failure.emails: xx@xx

nodes:
  - name: mid_actlog_product_view_sql_job
    type: command
    dependencies=dw_actlog_product_view,region   #添加多个依赖,中间用逗号隔开
    config:
      command: sh mid_actlog_product_view.sh

这样的话,就是第三个job依赖第一个和第二个job了,必须等第一个和第二个job都执行结束,第三个job才能开始。

---------------------------------------------------------------------------------------------------------------

另外,我们想要一个job结束后,同时开启第二个和第三个job同时执行,那么这两个子job的依赖配置为第一个job以外,还需要配置一个结束的第四个job,这个结束的第四个job需要同时依赖第二个和第三个,这个必须由,就算是没有job需要写了,也需要写一个空的job来同时依赖第二个和第三个job。

end.job

---
config:
  #failure.emails: xx@xx

nodes:
  - name: end_job
    type: noop
	dependencies=dm_actlog_product_view_region,dm_actlog_product_view
    

-----------------------------------------------------------------

这样的话,根据各个job之间的依赖关系就可以完成job之间的依赖并且并行执行,如下例:

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值