有没有可能使用 <param>
把oozie放在 <script>
标签。
如下所示:
<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']}
.
感谢您的帮助。
1条答案
按热度按时间bxgwgixi1#
不可以,因为oozie工作流/action xml希望一切都按照模式中定义的顺序进行。
还有,你对
<param>
标签似乎也错了。它不用于声明变量并在以后使用它。我猜你在写一篇文章hive
行动,<param>
是用来通过考试的<key=value>
配置单元作业的参数。这与--hivevar
用于指定配置单元sql中的变量。key
是您在配置单元sql脚本中使用的变量。你可以像@samsonscharfrichter提到的那样: