Hm... function installation in production is rather tricky.
1. I think puppet can drop jar from nexus to ooze folder
2. it can stop oozie and run command
3. config update wouldn't be so easy in case of Cloudera Manager. We'll
need some special stuff to update config via API (if it's possible)

Thanks, I'm trying to make it work.


2013/7/13 Mona Chitnis <[email protected]>

> Also if you feel your custom implementation can benefit others, feel free
> to contribute to Oozie via creating a patch and uploading to a JIRA -
> https://issues.apache.org/jira/browse/OOZIE
>
>
> On 7/12/13 11:12 AM, "Robert Kanter" <[email protected]> wrote:
>
> >Hi Serega,
> >
> >I'm actually working on a tutorial blog post for the Cloudera website on
> >how to make an EL function.  It's not quite done yet, but here's the basic
> >steps you need to do:
> >
> >1) Write the function in a new Java class.  There's no interface or class
> >to inherit from, you just make a new class in whatever package you want
> >(e.g. my.package.AwesomeELFunctions).  For what you want, its signature
> >would be:
> >        public static int functionName(String stringWithDatetime, String
> >pattern)
> >If you want to create more than one function, they can all go in the same
> >class as well.
> >
> >2) Compile your class.  You only need Oozie dependencies if you're
> >function
> >requires something from Oozie.  You can use javac, maven, Eclipse, etc to
> >compile it.  Make sure to create a jar.
> >
> >3) (Shut down Oozie and) copy the jar file to
> >/where/you/deployed/oozie/libext/ and re-run bin/oozie-setup.sh
> >prepare-war
> >
> >4) In oozie-site.xml, set (or add if it doesn't exist) a property like
> >this:
> ><property>
> >     <name>oozie.service.ELService.ext.functions.workflow</name>
> >     <value>
> >          functionName=my.package.AwesomeELFunctions#functionName
> >     </value>
> ></property>
> >If you have more functions, that property takes a comma separated list of
> >them.  The value on the left side of the equals is the name that you'd use
> >in a workflow and the value on the right side is the name of your function
> >in your Java code.  For the value on the left side, you can optionally put
> >a prefix (you may have seen many built-in functions that start with "wf:"
> >for example).
> >
> >5) Start up Oozie.  You should now be able to use the functionName custom
> >EL Function you created!
> >
> >I believe this may only make the function available in workflows, but I'm
> >not sure; if not, there should be a similar property in oozie-site you can
> >set for coordinators if you need that.
> >
> >Once my proper tutorial blog post is posted, I'll add a link to this
> >thread, but it may be a while.
> >
> >- Robert
> >
> >
> >
> >
> >On Fri, Jul 12, 2013 at 7:26 AM, Serega Sheypak
> ><[email protected]>wrote:
> >
> >> Hi, I need to create custom EL function.
> >> It accepts:
> >> String StringWithDatetime
> >> String Pattern (to parse Date)
> >> It returns:
> >> time in seconds.
> >>
> >> Please tell me:
> >> 1. Where can I find example?
> >> 2. Where do I have to put implementation of this function?
> >>
>
>

Reply via email to