Oozie workflow工作流action间参数传递实现

假设workflow里有两个action节点,shell和hive,hive需要用到shell节点里的值,shell脚本如下

#!/bin/sh
day=`date '+%Y%m%d%H'`
echo "day:$day"

hive节点需传入day这个参数。需要用到shell节点里<capture-output/>这个属性,如下

 

<action name="shell-118a ">
    <shell xmlns="uri:oozie:shell-action:0.1">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <configuration>
            <property>
                <name>mapred.job.queue.name</name>
                <value>${queueName}</value>
            </property>
        </configuration>
        <exec>${shell}</exec>
        <file>${shell}#${shell}</file>
        <capture-output/>
    </shell>
    <ok to="hive_node "/>
    <error to="fail"/>
</action>
<action name="hive_node">
        <hive xmlns="uri:oozie:hive-action:0.2">
              <job-tracker>${jobTracker}</job-tracker>
              <name-node>${nameNode}</name-node>
              <job-xml>${apps_hdfs_home}/common/conf/hive-site.xml</job-xml>
              <script>${sql}</script>
                <param>day=${wf:actionData('shell-118a')['day']}</param>
        </hive>
        <ok to="end"/>
        <error to="Kill"/>
 </action>




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值