I forgot about the formal parameters section; I don't remember if it will accept EL functions.
On Mon, Jun 2, 2014 at 11:35 AM, Mohammad Islam <[email protected]> wrote: > I'm not sure my last email was delivered. > In my last email, i was proposing to use <parameters> section of workflow > to initialize any property once. > > Two related links: > 1. > https://oozie.apache.org/docs/4.0.1/WorkflowFunctionalSpec.html#a4.1_Workflow_Job_Properties_or_Parameters > look for formal parameter support in schema 0.4. > 2. https://issues.apache.org/jira/browse/OOZIE-239 (Addressed by Robert) > > However, I'm not sure if we can specify any EL function as value. Robert > can fill it up. > > > Regards, > Mohammad > > > > > > > On Thursday, May 29, 2014 1:39 PM, Robert Kanter <[email protected]> > wrote: > > > > The file Oozie prepares is in a standard Hadoop Configuration file format. > e.g. > <configuration> > <property> > <name>some.property.name</name> > <value>some.value</value> > </property> > ... > </confguration> > > It's location should be stored in an environment variable named > OOZIE_ACTION_CONF_XML > > > > > On Thu, May 29, 2014 at 1:28 PM, Scott Preddy <[email protected]> > wrote: > > > Ok, is there a best practice for reading this file oozie prepares? Where > is > > it? I don't want to put the el function in the actions because I have > many > > of them and would only like to call the el function once. I am calling it > > multiple times now (once for each shell action). > > > > > > On Thu, May 29, 2014 at 3:20 PM, Robert Kanter <[email protected]> > > wrote: > > > > > Ah, I see what you're saying. You could have you shell script read the > > > Configuration XML file prepared by Oozie; this would include everything > > in > > > the <configuration> section of the shell action and the <global> > section. > > > Though why not simply put the EL Function directly in the shell action > > > instead of a variable? > > > > > > > > > > > > > > > On Thu, May 29, 2014 at 12:23 PM, Scott Preddy < > [email protected] > > > > > > wrote: > > > > > > > Right, that what I have experienced. What I would like to know if > there > > > is > > > > some mechanism in oozie where I can assign a global variable a value > I > > > > obtain from the result of an el function and then have that value > > > > referenced by shell actions? > > > > > > > > > > > > On Thu, May 29, 2014 at 1:02 PM, Robert Kanter <[email protected] > > > > > > wrote: > > > > > > > > > Hi Scott, > > > > > > > > > > That's not how the <global> seciton works. Properties in the > > > > > <configuration> in the <global> section get applied automatically > to > > > all > > > > > <configuration> sections in all actions in the workflow. So, in > your > > > > > example, "controlFilePath" is automatically included in your shell > > > > action's > > > > > <configuration> section (even though you omitted it). Putting > stuff > > in > > > > the > > > > > <configuration> in the <global> section does not make them a > > variable. > > > > To > > > > > do that, it should be in the job.properties file you use to submit > > the > > > > > workflow. Once you have that, any EL Functions should accept it as > > an > > > > > argument as well. > > > > > > > > > > - Robert > > > > > > > > > > > > > > > On Thu, May 29, 2014 at 8:54 AM, Scott Preddy < > > > [email protected]> > > > > > wrote: > > > > > > > > > > > I would like to set a global variable to my entire oozie job and > > then > > > > > > reference its value from various actions. I would like to use > some > > > "el > > > > > > function stuff" when assigning this variable. > > > > > > However I assume this is completely impossible because I cannot > > even > > > do > > > > > the > > > > > > following. No matter what I try "controlFilePath2" is always > > > undefined > > > > in > > > > > > "echoControlFile", so trying the > > > > > > "el function" does not even need to be explored. > > > > > > > > > > > > <workflow-app xmlns="uri:oozie:workflow:0.4" name="sandbox1"> > > > > > > <global> > > > > > > <job-tracker>${jobTracker}</job-tracker> > > > > > > <name-node>${nameNode}</name-node> > > > > > > <configuration> > > > > > > <property> > > > > > > <name>mapred.job.queue.name</name> > > > > > > <value>default</value> > > > > > > </property> > > > > > > <property> > > > > > > <name>controlFilePath2</name> > > > > > > <value>***Path***</value> > > > > > > </property> > > > > > > </configuration> > > > > > > </global> > > > > > > > > > > > > <start to="echoControlFile"/> > > > > > > > > > > > > <action name="echoControlFile"> > > > > > > <shell xmlns="uri:oozie:shell-action:0.3"> > > > > > > <job-tracker>${jobTracker}</job-tracker> > > > > > > <name-node>${nameNode}</name-node> > > > > > > <exec>echo.sh</exec> > > > > > > <argument>Control file path: > > > ${controlFilePath2}</argument> > > > > > > <file>${scriptsDir}/echo.sh#echo.sh</file> > > > > > > <capture-output/> > > > > > > </shell> > > > > > > <ok to="end"/> > > > > > > <error to="fail"/> > > > > > > </action> > > > > > > > > > > > > <kill name="fail"> > > > > > > <message>Job failed, error > > > > > > message[${wf:errorMessage(wf:lastErrorNode())}]</message> > > > > > > </kill> > > > > > > <end name="end"/> > > > > > > </workflow-app> > > > > > > "workflow.xml" 53L, > > > > > > 1953C > > > > > > 40,13 Bot > > > > > > > > > > > > > > > > > > > > >
