azkaban 动态传参shell篇

原文地址:https://www.cnblogs.com/honeybee/p/7921626.html

2. shell类型的job的参数传递

azkaban中的shell 作业,如何接收从webUI传递的参数?

step1: UI页面输入参数定义:
ui_test=test111111111

step2:在job文件myjob.job指定:

##作业定义文件UI输入参数接收:
job_param4=${ui_test}

##作业定义文件脚本命令行引用UI输入参数:
sh test_azkaban_job.sh "${job_param4}"

step3:shell test_azkaban_job.sh 的内容
vi test_azkaban_job.sh

echo "inputparamter:$1"  #接收job文件中传递的参数。

问题:在页面手动执行前面的job时,如果UI参数ui_test在job执行没有输入,会执行失败。异常信息如下:

hello ERROR - Failed to build job executor for job helloCould not find variable substitution for variable(s) [param4->ui_test ]

在定时调度任务指定时,需要指定工作流参数flowParameters :ui_test,避免该错误。

运行时参数:在UI页面重新输入运行时参数时,可以覆盖系统默认生成的参数值。

运行时参数,和UI输入的参数,都可以认为是全局参数,在整个工作流的作业
配置中,都可以通过 ${参数名} 的方式引用使用。

在shell 中直接引用 公共参数,运行时系统参数,UI输入参数,是无效的。
在shell中只能直接使用环境变量;公共参数,运行时系统参数,UI输入参数能只通过shell的脚本参数的方式传递
进来。

job文件中定义的环境变量参数,可以在shell脚本中直接引用,但只对当前job有效。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值