azkaban参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了azkaban参数相关的知识,希望对你有一定的参考价值。

参考技术A 在mz工作时接触到了已经非常完善的数据平台,基本复刻了腾讯teg数平,大大简化了很多工作。
后续更换工作到DY,这里平台并没有集成太多功能,大部分是分开使用不同的工具解决的。

例如数据任务的工作调度,任务的依赖,是使用azkaban工作流来完成的。

除了type,command,decpendencies三个参数外,还有如下一些保留参数可以为每个job配置

这些属性在job运行期间自动被添加.

可以设置mark_job_finished脚本和is_job_succeed脚本,
来判断任务是否跑成功。

build_pars.py脚本用来用来保存传进来的参数。

这里可以设置日期参数,传参数进去重跑任务

写死的参数直接写在下方也可以。

azkaban job参数传递

Parameter Passing
There is often a desire to pass these parameters to the executing job code. The method of passing these parameters is dependent on the jobtype that is run, but usually Azkaban writes these parameters to a temporary file that is readable by the job.
The path of the file is set in JOB_PROP_FILE environment variable. The format is the same key value pair property files. Certain built-in job types do this automatically for you. The java type, for instance, will invoke your Runnable and given a proper constructor, Azkaban can pass parameters to your code automatically.
Parameter Output
Properties can be exported to be passed to its dependencies. A second environment variable JOB_OUTPUT_PROP_FILE is set by Azkaban. If a job writes a file to that path, Azkaban will read this file and then pass the output to the next jobs in the flow.
The output file should be in json format. Certain built-in job types can handle this automatically, such as the java type.
以上是官方的使用描述,相对来说比较简单,给初用者带来一定的难度。下面举个例子说明。

JOB_OUTPUT_PROP_FILE和JOB_PROP_FILE都是一个环境变量,指向文件路径。上游节点把需要输出的值以json的格式写入JOB_OUTPUT_PROP_FILE文件,下游节点就可以在JOB_PROP_FILE中看到key-value形式的输出,用${key}的方式使用变量。
实际例子:
baseflow.flow
nodes:
- name: jobB
type: command
dependsOn:
- jobA
config:
command: sh commandB.sh "${firstName}"
- name: jobA
type: command
config:
command: sh commandA.sh

commandA.sh
#!/bin/bash
echo ‘{ "firstName":"John" , "lastName":"Doe" }‘ >> ${JOB_OUTPUT_PROP_FILE}

commandB.sh
#!/bin/bash
#cat ${JOB_PROP_FILE} >> /root/azkaban.txt
echo $1 >> /root/azkaban.txt

commandB.sh 脚本执行完成之后,将会把firstName变量值John的值写入文件/root/azkaban.txt文件。

以上是关于azkaban参数的主要内容,如果未能解决你的问题,请参考以下文章

azkaban报错:azkaban.utils.UndefinedPropertyException: Missing required property azkaban.native.lib

azkaban job参数传递

Azkaban 调度

Azkaban安装部署及基础使用

Azkaban

Oozie&Azkaban区别