Chapter 10. Developer Topics

In previous chapters, we primarily focused on how to use and manage Oozie efficiently. We explained the details of the Oozie service and the various features it supports. Oozie users and administrators were the target audience for those chapters. In this chapter, we cover Oozie from a developer’s perspective. In particular, we discuss how to leverage Oozie’s extensible framework to expand and broaden its feature set. We see how to add custom EL functions and how to develop new synchronous and asynchronous action types.

Developing Custom EL Functions

The parameterization framework of Oozie enables users to easily build reusable and manageable applications. This feature includes variable substitution and EL functions for workflows, coordinators, and bundles. We discussed this in detail in “Parameterization”. More specifically, Oozie provides a bunch of built-in EL functions for most of the common use cases. However, users often feel the need for EL functions for new or special use cases. The parameterization framework of Oozie is extensible and allows the addition of new functions with minimal effort. In this section, we describe the steps needed to add an EL function.

Requirements for a New EL Function

Before deciding to write a new EL function, users must first determine whether it is even a good idea to develop a new function. It is highly recommended that the new EL function be simple, fast, and robust. This is critical because Oozie executes the EL functions ...

Get Apache Oozie now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.