azkaban 与 java任务_azkaban 任务流设置

本文介绍了如何在azkaban中配置job和flow,包括hive、java、shell任务的定义,以及任务间的依赖关系和邮件通知设置。通过打包上传、设定定时执行和SLA报警,实现azkaban工作流的自动化执行。
摘要由CSDN通过智能技术生成

azkaban 简单demo

一. azkaban job简单配置

1. 目录结构

0ea683f349aa8e1e271c0e13cd301654.png

lib 目录下,为java的jar包

script 目录下,是shell脚本

sql 目录下,是hive sql脚本

2. 定义flow1信息

2.1. f1/az-hive-01.job1

2

3

4

5type: hive

azk.hive.action: execute.query

hive.script: sql/az-hive-01.sql

hiveconf.tb: test.action_log

hiveconf.rows: 5

hiveconf.xxx 指定需要传入sql的参数设置,sql文件内用${hiveconf:xx} 表示

2.2. f1/az-java-02.job1

2

3type=javaprocess

classpath=./lib/*

java.class=nick.weixx.az.run.MyJavaJob

java任务,指定运行的main class

2.3. f1/az-shell.job1

2

3type: command

command: sh ./script/az-comm-01.sh

dependencies: az-hive-01,az-java-02

执行shell 脚本,dependencies,表示需要等待,hive以及java任务执行成功后,执行。

2.4 f1/az-f1-end.job 定义flow1

2

3

4type: flow

flow.name: az-shell

failure.emails: weixinxing0226@gmail.com

success.emails: weixinxing0226@163.com

需要和 f1无依赖的最终任务名称(az-shell.job)一致

3. 定义flow2信息

3.1. f2/az-f2-1.job1

2type: command

command: echo "i' im flow 2."

3.2. f2/az-f2-end.job 定义flow2信息1

2

3

4type: flow

flow.name: az-f2-1

failure.emails: weixinxing0226@gmail.com

success.emails: weixinxing0226@163.com

flow.name 需要和flow2 的任务名称一致,既az-f2-1.job

3.3. az-end.job 定义最终任务信息1

2

3

4type: noop

dependencies: az-f1-end,az-f2-end

failure.emails: weixinxing0226@gmail.com

success.emails: weixinxing0226@163.comw

需要等待 flow1,flow2执行完毕

4. 打包运行

4.1. 打zip包,并上传

5aae8f7e4ca9c4162288db23b4a30c9e.png

4.2. 设定任务

22ab3e648baa9bab70e76654131791ba.png

4.3. 设置定时执行,SLA报警

14eabe0f2b2a8c2238301703c4340e39.png

6c7632e5efb56cf7880d29414f35f48a.png

4.4. 运行结果

e843fe9598507bfca5f04c84059a194d.png

二. azkaban flow简单配置

1. 目录结构

d0099d493fbdb50d167ce16a6b86cb35.png

lib 目录下,为java的jar包

script 目录下,是shell脚本

sql 目录下,是hive sql脚本

azkaban-demo-flow.project 定义执行flow的版本

azkaban-demo-flow.flow 定义工作流详细

2. 工作流设定1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36---

##成功或者失败的处理方式

config:

failure.emails: weixinxing0226@gmail.com

success.emails: weixinxing0226@163.com

##多任务依赖配置

nodes:

- name: azkaban-demo-flow

type: noop

dependsOn:

- hive-01

- shell-02

- java-03

- name: hive-01

type: hive

config:

azk.hive.action: execute.query

hive.script: azkaban-demo-flow/sql/az-hive-01.sql

hiveconf.tb: test.action_log

hiveconf.rows: 5

- name: shell-02

type: command

config:

command: sh ./azkaban-demo-flow/script/az-comm-01.sh

- name: java-03

type: javaprocess

config:

classpath: ./azkaban-demo-flow/lib/*

java.class: nick.weixx.az.run.MyJavaJob

dependsOn:

- hive-01

- shell-02

[demo地址] (git@github.com:nick-weixx/azkaban-demo.git)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值