检查Oozie选项参数

时间:2015-11-17 13:26:27

标签: oozie

我创建了一个使用脚本操作的Oozie工作流程。它调用的脚本有两个必需参数和几个可选参数。在Oozie工作流程中处理可选参数的正确方法是什么?

oozie job -config job.properties -run -DMandatory1 a -DMandatory2 b -DOptional1 c

我无法在工作流XML(Optional2,Optional3,ect)中列出参数,因为Oozie会错误地说明该参数不存在。在调用允许每个选项的Oozie脚本之前,是否需要创建多个工作流并创建一些逻辑?

2 个答案:

答案 0 :(得分:0)

您是否尝试将空字符串作为参数值传递,例如-Doptional1 ''在命令行上?

如果shell脚本足够智能以忽略空参数(例如$# -ge 3"$3" == ""表示“无参数3”),那么结果将与未传递参数相同。

答案 1 :(得分:0)

如果参数的数量少于那么你可以为可选变量传递一些默认的虚拟值。然后,您可以在shell脚本中检查相同内容。如果出现默认值,请不要使用它,否则请使用它。

因为如果你没有在工作流中指定你的shell或ssh动作中提到的任何变量,Oozie将无法给出EL错误,因为它无法用任何东西替换可选变量。