Search code examples
azkaban

Azkaban Property evaluation


We have an Azkaban property in our project that looks something like this date" : "$(new("org.joda.time.DateTime").parse(...).toString("yyyy-MM-dd")) which is used as an argument to a spark job. The command (in the flow log) has the expression already evaluated but the generated Azkaban file (because this is defined in gradle) still contains the code string.

I couldn't find anything about how this works. Googling didn't help. There is no mention of this functionality in the docs (about $(...) params).


Solution

  • If you look at the PropsUtils.java file you can see the method resolveVariableExpression(final String value, final int last, final JexlEngine jexl) actualy evaluates the prop using the JexlEngine.

    I think this fucntionality should be added to the docs.