[原]Oozie工作流属性配置的方式与策略

标签: | 发表时间:2015-05-29 15:58 | 作者:bluishglc
出处:http://blog.csdn.net/bluishglc

Oozie工作流属性配置的三种方式

Oozie有三种方法可以给工作流提供属性属性配置:

  1. App部署文件夹根目录下的:config-default.xml
  2. 作业属性文件:job.properties
  3. 在命令行中指定属性:-Dkey=value

Oozie工作流属性配置的策略(最佳实践)

坦率地讲,三种配置相互重叠,全部使用会使属性的配置过于分散,使得查找和定位属性变得繁琐。就我个人的经验,我倾向于这样做:

  1. 对于静态的,不会因每次启动而发生成改变的配置项,全部配置在config-default.xml,因为这个文件是Oozie部署自包含(self-contained application)应用程序规范的一部分,也就是说这个文件会被自动加载并读取,就如同J2EE的中web.xml一样,所以把静态的配置项写在这里是最理想的。

  2. 对于动态的,会因为每次启动而变化的配置项(典型的例子是coordinator的start time), 通过命令行的方式指定是最合适的。

  3. 通常,大多数的构建工具(比如maven)都能够在构建时根据build的目标环境替换配置文件中的一些变量,我们应该利用这个特性,对config-default.xml和命令行(假如你有一个命令行脚本的话)中的与环境相关的属性在构建时进行替换。典型的例子是nameNode和jobTracker。

  4. 避免使用job.properties,因为job.properties是一个本地文件,它显然没有config-default.xml方便,因为config-default.xml是自包含的。

综上所属,一个简洁地启动工作流的命令行应该是这个样子的:首先,指定oozie.wf.application.path或oozie.coord.application.path或oozie.bundle.application.path是必不可少的,因为至少你要告诉oozie,你的应用程序放在哪里,然后我们需要从命令行中再指定一些动态参数。因此,通过命令行启动一个工作流往往会是这样的:

  oozie job -run \
-Doozie.wf.application.path=hdfs://your-namenode:8020/your/app/path \
-DPARAM1=${PARAM1} \
-DPARAM1=${PARAM2}

至于工作流其他的属性配置,都已存放于hdfs://your-namenode:8020/your/app/path/config-default.xml中。

Oozie工作流属性的命名规范

最后,作为一个补充,我们来谈谈oozie对其属性命名的要求:

  - Properties that are a valid Java identifier, [A-Za-z_][0-9A-Za-z_]* , are available as '${NAME}' variables within the workflow definition.

- **Properties that are not valid Java Identifier, for example 'job.tracker'**, are available via the String wf:conf(String name) function.

是的,看上去也是有点奇葩的规定了,对于Oozie的属性名,只允许 使用数字、字母和下滑线,类似于job.tracker这样的属性名是非法的!

作者:bluishglc 发表于2015/5/29 7:58:27 原文链接
阅读:84 评论:2 查看评论

相关 [oozie 工作流 属性] 推荐:

[原]Oozie工作流属性配置的方式与策略

- - Laurence的技术博客
Oozie工作流属性配置的三种方式. Oozie有三种方法可以给工作流提供属性属性配置:. App部署文件夹根目录下的:config-default.xml. 作业属性文件:job.properties. 在命令行中指定属性:-Dkey=value. Oozie工作流属性配置的策略(最佳实践). 坦率地讲,三种配置相互重叠,全部使用会使属性的配置过于分散,使得查找和定位属性变得繁琐.

OOzie简介

- - CSDN博客云计算推荐文章
     用几句话就可以概括什么是Oozie:. Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统. Oozie的工作流是一系列动作的直接周期图. Oozie协调作业就是通过时间(频率)和有效数据触发当前的Oozie工作流程. Oozie是Yahoo针对Apache Hadoop开发的一个开源工作流引擎.

oozie定时循环调度sqoop job 增量导数入hive

- - angela的博客
假设oracle里面有一个student表每10分钟有一批新增的数据,现在想要把数据同步到hive,实现思路是用oozie的coordinator定义一个job,job里面调度workflow用sqoop从oracle里增量导数入hive. 一、oozie调度sqoop直接导数入hive --全量.

#数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie

- - ITeye博客
郑昀 创建于2014/10/30 最后更新于2014/10/31. 一)选型:Shib+Presto. 应用场景:即席查询(Ad-hoc Query). 使用者是产品/运营/销售运营的数据分析师;. 要求数据分析师掌握查询SQL查询脚本编写技巧,掌握不同业务的数据存储在不同的数据集市里;. 不管他们的计算任务是提交给 数据库 还是 Hadoop,计算时间都可能会很长,不可能在线等待;.

Activiti工作流demo

- - CSDN博客综合推荐文章
继上篇《 Activiti工作流的环境配置》.        前几篇对Activiti工作流进行了介绍,并讲解了其环境配置. 本篇将会用一个demo来展示Activiti工作流具体的体现,直接上干货.        以HelloWorld程序为例.       首先说一下业务流程,员工张三提交了一个申请,然后由部门经理李四审核,审核通过后再由总经理王五审核,通过则张三申请成功.

理解Git工作流

- joyoner - FeedzShare
来自: 黑客志 - FeedzShare  . 发布时间:2011年08月04日,  已有 2 人推荐. 如果你不了解Git背后的设计初衷,那么你正处在危险境地,当然有很多参数可以强迫Git按照你的意愿行事,但这并不是Git被设计的工作方式,这就好比你可以把改锥当锤子使用,并且它也可以完成工作,但这对改锥没什么好处.

[转]工作流系统

- - 小鸥的博客
如果数据库系统( database systems)像受人尊敬的智者讲述的条理清晰的故事,那么 工作流( workflow)就像一群乳臭未干的小子在大谈各自的“哲理”. 之所以这样讲,我是想指出, 工作流系统 ( workflow management systems)还处于技术发展曲线( technology hype curve)上的初级阶段.

OAuth 2.0 工作流程

- - 企业架构 - ITeye博客
原文链接:http://www-01.ibm.com/support/knowledgecenter/SSELE6_8.0.0.3/com.ibm.ammob.doc_8.0.0.3/config/concept/con_oauth20_workflow.html%23con_oauth20_workflow?lang=zh.

activiti工作流使用

- - 行业应用 - ITeye博客
activiti 开发流程. JBPM 与 Activiti. jBPM项目于2002年3月由Tom Baeyens发起,2003年12月发布1.0版本. 2004年10月18日,发布了2.0版本,并在同一天加入了JBoss. 2011 年 jBPM的创建者Tom Baeyens离开JBoss了, 他的离开产生了两个结果:.