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

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

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

  1. <action name="shell-118a ">
  2. <shell xmlns="uri:oozie:shell-action:0.1">
  3. <job-tracker>${jobTracker}</job-tracker>
  4. <name-node>${nameNode}</name-node>
  5. <configuration>
  6. <property>
  7. <name>mapred.job.queue.name</name>
  8. <value>${queueName}</value>
  9. </property>
  10. </configuration>
  11. <exec>${shell}</exec>
  12. <file>${shell}#${shell}</file>
  13. <capture-output/>
  14. </shell>
  15. <ok to="hive_node "/>
  16. <error to="fail"/>
  17. </action>
  18. <action name="hive_node">
  19. <hive xmlns="uri:oozie:hive-action:0.2">
  20. <job-tracker>${jobTracker}</job-tracker>
  21. <name-node>${nameNode}</name-node>
  22. <job-xml>${apps_hdfs_home}/common/conf/hive-site.xml</job-xml>
  23. <script>${sql}</script>
  24. <param>day=${wf:actionData('shell-118a')['day']}</param>
  25. </hive>
  26. <ok to="end"/>
  27. <error to="Kill"/>
  28. </action>

Oozie workflow工作流action间参数传递实现的更多相关文章

  1. Oozie分布式工作流——Action节点

    前篇讲述了下什么是流控制节点,本篇继续来说一下什么是 Action Nodes操作节点.Action节点有一些比较通用的特性: Action节点是远程的 所有oozie创建的计算和处理任务都是异步的, ...

  2. Oozie分布式工作流——从理论和实践分析使用节点间的参数传递

    Oozie支持Java Action,因此可以自定义很多的功能.本篇就从理论和实践两方面介绍下Java Action的妙用,另外还涉及到oozie中action之间的参数传递. 本文大致分为以下几个部 ...

  3. Oozie分布式工作流——流控制

    最近又开始捅咕上oozie了,所以回头还是翻译一下oozie的文档.文档里面最重要就属这一章了--工作流定义. 一提到工作流,首先想到的应该是工作流都支持哪些工作依赖关系,比如串式的执行,或者一对多, ...

  4. Oozie分布式工作流——EL表达式

    oozie支持使用EL(expression language)表达式. 基本的EL常量 KB MB GB TB PB 基本EL函数 string firstNotNull(String value1 ...

  5. Mvc action间的传值

    1, Mvc action间的传值? TempData["student"] ="123" 在<走入asp.net mvc不归路>系列文章5中,介绍 ...

  6. 风尘浪子 只要肯努力,梦想总有一天会实现 WF工作流与Web服务的相互调用 —— 通过Web服务调用Workflow工作流(开发持久化工作流) _转

    如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生.工作流(Workflow)是对工作流程及其各操作步骤之间业务规则 的抽象.概括.描述.工作流要解决的主要问题是:为实现某个业务 ...

  7. 小强的HTML5移动开发之路(53)——jQueryMobile页面间参数传递

    在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ...

  8. form表单action带参数传递

    form表单action带参数传递function submit(){  var u = document.forms[0].elements["user"].value;  do ...

  9. JavaScript + SVG实现Web前端WorkFlow工作流DAG有向无环图

    一.效果图展示及说明 (图一) (图二) 附注说明: 1. 图例都是DAG有向无环图的展现效果.两张图的区别为第二张图包含了多个分段关系.放置展示图片效果主要是为了说明该例子支持多段关系的展现(当前也 ...

随机推荐

  1. Mysql查询数据库表结构以及字段类型并展示

    1.建表语句sys_user CREATE TABLE `sys_user` ( `id` varchar(32) NOT NULL COMMENT '编号', `dept_id` varchar(3 ...

  2. xampp 修改 mysql 默认 root 密码

    xampp 默认的 mysql 的 root 密码是空的,种种原因想给它加上. 最有效简单方法是使用 phpmyadmin. 初始状态下,我们可以使用 http://localhost/phpmyad ...

  3. 从头開始学 RecyclerView(三) 封装简化

    前言 上一篇的代码,也是基于这些封装的. RV的封装,跟曾经的listView之类的封装,大同小异. 这里,从@devwiki 处,将代码搬过来.基本无改动 BaseHolder的优化 使ViewHo ...

  4. V-rep学习笔记:机器人模型创建1—模型简化

    要进行机器人仿真首先需要得到机器人的几何模型.我们可以直接通过VREP中提供的基本几何体来搭建一个简易的机器人[Menu bar --> Add --> Primitive shape - ...

  5. Android 自定义控件-高仿猎豹清理大师自定义内存开口圆环控件

    技术:Android+java   概述 看见猎豹清理大师的内存开口圆环比例进度 挺有意思的,于是就是想自己实现下这样的效果,于是反编译了猎豹清理 大师的app看了下,原来是有两张图,于是脑子里就过了 ...

  6. bootstrap table + spring + springmvc + mybatis 实现从前端到后端的表格分页

    1.使用准备 前台需要的资源文件,主要有Bootstrap3相关css.js以及bootstrap Table相关css.js: <-- 样式 --> <link rel=" ...

  7. Android中如何让DialogFragment全屏(DialogFragment fullscreen)

    这个问题很让人纠结,因为我要在popopwindows里面使用fragment,但是在popopwindows里面找不到它的父控件,于是转战使用DialogFragment,但是让它全屏是一件很头疼的 ...

  8. 如何开发一个基于 Docker 的 Python 应用

    前言 Python 家族成员繁多,解决五花八门的业务需求.这里将通过 Python 明星项目 IPython Notebook,使其容器化,让大家掌握基础的 Docker 使用方法. IPython ...

  9. keras embeding设置初始值的两种方式

    随机初始化Embedding from keras.models import Sequential from keras.layers import Embedding import numpy a ...

  10. 获取当前日期 java

    SimpleDateFormat smpDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFo ...