Oozie param 标签在脚本标签之前?
Oozie param tag before the script tag?
是否可以在 oozie 中的 <script>
标签之前使用 <param>
标签。
如下所示:
<param>script_name=${wf:actionData('GetJobParameters')['SCRIPT_NAME']}</param>
<script>/tmp/abc/hive/${script_name}</script>
<param>K_NAME=${wf:actionData('GetJobParameters')['K_NAME']}</param>
<param>P_NAME=${wf:actionData('GetJobParameters')['P_NAME']}</param>
<param>CNAME=${wf:actionData('GetJobParameters')['C_NAME']}</param>
原因是我的脚本名称应该作为参数传递而不是硬编码。这个脚本名称将从我的 mysql 数据库中获取,例如 ${wf:actionData('GetJobParameters')['SCRIPT_NAME']}
.
感谢任何帮助。
没有。你不能这样做,因为 Oozie workflow/action xml 期望一切按模式中定义的顺序排列。
另外,您对<param>
标签的理解似乎也是错误的。它不是为了声明一个变量并在以后使用它。我猜你正在写一个 hive
动作,<param>
用于将 <key=value>
参数传递给配置单元作业。这类似于 --hivevar
用于指定 hive SQL 中的变量。 key
是您在配置单元 sql 脚本中使用的变量。
您可以按照@SamsonScharfrichter 提到的那样做:
<script>/tmp/abc/hive/${wf:actionData('GetJobParameters')['SCRIPT_NAME']}</script>
是否可以在 oozie 中的 <script>
标签之前使用 <param>
标签。
如下所示:
<param>script_name=${wf:actionData('GetJobParameters')['SCRIPT_NAME']}</param>
<script>/tmp/abc/hive/${script_name}</script>
<param>K_NAME=${wf:actionData('GetJobParameters')['K_NAME']}</param>
<param>P_NAME=${wf:actionData('GetJobParameters')['P_NAME']}</param>
<param>CNAME=${wf:actionData('GetJobParameters')['C_NAME']}</param>
原因是我的脚本名称应该作为参数传递而不是硬编码。这个脚本名称将从我的 mysql 数据库中获取,例如 ${wf:actionData('GetJobParameters')['SCRIPT_NAME']}
.
感谢任何帮助。
没有。你不能这样做,因为 Oozie workflow/action xml 期望一切按模式中定义的顺序排列。
另外,您对<param>
标签的理解似乎也是错误的。它不是为了声明一个变量并在以后使用它。我猜你正在写一个 hive
动作,<param>
用于将 <key=value>
参数传递给配置单元作业。这类似于 --hivevar
用于指定 hive SQL 中的变量。 key
是您在配置单元 sql 脚本中使用的变量。
您可以按照@SamsonScharfrichter 提到的那样做:
<script>/tmp/abc/hive/${wf:actionData('GetJobParameters')['SCRIPT_NAME']}</script>