Yes, I think too because it's a true/false condition, but in the other
example, it's a fs check...

--
Laurent HATIER - Consultant Big Data & Business Intelligence chez CapGemini
fr.linkedin.com/pub/laurent-hatier/25/36b/a86/
<http://fr.linkedin.com/pub/laurent-h/25/36b/a86/>

2015-06-29 10:21 GMT+02:00 Oussama Chougna <[email protected]>:

> I'm 100% sure that the suggested should work:
> I have this in my workflow and it works perfect:
> <decision name="check-preconditions-directories">        <switch>
>   <!-- Check if the warehouse dir for all the data exists. If not, create
> it with the right permissions. -->            <case
> to="create-warehouse-dirs">${!fs:exists(wf:conf('hiveMainTableLocation'))
> || !fs:exists(wf:conf('hive_temp_tables_root'))}</case>            <!--
> default: just proceed. -->            <default to="preconditions-join"/>
>     </switch>    </decision>
> in my bundle.xml (I'm using a bundle):
>
>            <property>                <name>hiveMainTableLocation</name>
>             <value>${hive_tables_root}/OrderItems</value>
> </property>
> In my job.properties:
> hive_temp_tables_root=${nameNode}/user/hive/warehouse/pzt/tmp/hive
>
>
> This works 100%.
> Oozie 4.1.0-cdh5.4.2
>
> Cheers,
> Oussama Chougna
>
> > Date: Mon, 29 Jun 2015 10:15:15 +0200
> > Subject: Re: HDFS EL Function - fs:dirSize(String path)
> > From: [email protected]
> > To: [email protected]
> >
> > I think that is not possible because oozie can replace variable once, not
> > twice (fsDir + your variable) I think you have to create your own Oozie
> > function, or maybe use an shell action to do some stuf (fs dir of your
> > folder in parameter) and then use an capture-output to get the size of
> your
> > folder :)
> >
> > --
> > Laurent HATIER - Consultant Big Data & Business Intelligence chez
> CapGemini
> > fr.linkedin.com/pub/laurent-hatier/25/36b/a86/
> > <http://fr.linkedin.com/pub/laurent-h/25/36b/a86/>
> >
> > 2015-06-25 22:33 GMT+02:00 Vincent Peplinski <[email protected]>:
> >
> > > Neither of those suggestions resolved the issue...
> > >
> > > On Thu, Jun 25, 2015 at 3:02 PM, Idris Ali <[email protected]>
> wrote:
> > >
> > > > Hi,
> > > >
> > > > Can you try changing the single quotes only around pDate to double
> quotes
> > > > "". Seems to be xml wrapping issue.
> > > >
> > > > Thanks,
> > > > Idris
> > > >
> > > > On Thursday 25 June 2015, Vincent Peplinski <[email protected]>
> > > > wrote:
> > > >
> > > > > Thanks for the suggestion Oussama, unfortunately it did not
> resolve my
> > > > > issue :(
> > > > >
> > > > > <param>byt_wrt=${fs:dirSize('/user/peppy/testing/p_dt=coord:
> > > > > conf('pDate')')}</param>
> > > > >
> > > > > Resulted in the following:
> > > > >
> > > > > Error Code        : EL_ERROR
> > > > > Error Message     : Encountered "pDate", expected one of [".", ">",
> > > "gt",
> > > > > "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", ")",
> ",",
> > > "[",
> > > > > "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||",
> "?"]
> > > > >
> > > > > On Thu, Jun 25, 2015 at 3:13 AM, Oussama Chougna <
> > > > [email protected]
> > > > > <javascript:;>>
> > > > > wrote:
> > > > >
> > > > > > You should try this:
> > > > > > If you are using a coordinator:
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> <param>byt_wrt=${fs:dirSize('/user/peppy/testing/p_dt=coord:conf('pDate')')}</param>
> > > > > > If you only using a workflow:
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> <param>byt_wrt=${fs:dirSize('/user/peppy/testing/p_dt=wf:conf('pDate')')}</param>
> > > > > >
> > > > > > Nested EL does not work.
> > > > > >
> > > > > >
> > > > > > Good luck,
> > > > > > Cheers.
> > > > > > Oussama Chougna
> > > > > >
> > > > > >
> > > > > >
> > > > > > > Date: Wed, 24 Jun 2015 20:49:32 +0000
> > > > > > > From: [email protected]
> > > > > > > To: [email protected] <javascript:;>
> > > > > > > Subject: Re: HDFS EL Function - fs:dirSize(String path)
> > > > > > >
> > > > > > >
> > > >
> <param>byt_wrt=${fs:dirSize('/user/peppy/testing/p_dt=pDate')}</param>
> > > > > .
> > > > > > pDate without ${}.
> > > > > > >      From: Vincent Peplinski <[email protected]
> > > <javascript:;>>
> > > > > > >  To: [email protected] <javascript:;>
> > > > > > >  Sent: Wednesday, June 24, 2015 12:41 PM
> > > > > > >  Subject: HDFS EL Function - fs:dirSize(String path)
> > > > > > >
> > > > > > > Hello,
> > > > > > >
> > > > > > > I'm trying to use the fs:dirSize() HDFS EL function in one of
> my
> > > > > > workflows
> > > > > > > action nodes but I'm having some difficulty and I hope someone
> can
> > > > > help.
> > > > > > >
> > > > > > > When I call the function using a literal string such as:
> > > > > > >
> > > > > > >
> > > > >
> > >
> <param>byt_wrt=${fs:dirSize('/user/peppy/testing/p_dt=20150624')}</param>
> > > > > > >
> > > > > > >
> > > > > > > The function returns the size of the file as expected. However;
> > > when
> > > > I
> > > > > > try
> > > > > > > the following:
> > > > > > >
> > > > > > >
> > > > >
> > >
> <param>byt_wrt=${fs:dirSize('/user/peppy/testing/p_dt=${pDate}')}</param>
> > > > > > >
> > > > > > > The workflow fails with an EL_ERROR - Illegal character in path
> > > index
> > > > > 26
> > > > > > > /user/peppy/testing/p_dt=${pDate}.
> > > > > > >
> > > > > > >
> > > > > > > How can I pass a variable to the function that will be properly
> > > > > expanded?
> > > > > > >
> > > > > > > Thank you in advance.
> > > > > > >
> > > > > > > V.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
>
>

Reply via email to