Robert Kanter created OOZIE-1028:
------------------------------------
Summary: Add EL function to allow date ranges to be used for
dataset ranges
Key: OOZIE-1028
URL: https://issues.apache.org/jira/browse/OOZIE-1028
Project: Oozie
Issue Type: New Feature
Components: coordinator
Affects Versions: trunk
Reporter: Robert Kanter
Assignee: Robert Kanter
Fix For: trunk
Dataset ranges are currently specified with EL functions such as
{{${coord:current(int n)\}}}, which is basically returns the nominal datetime
for the nth dataset instance relative to the coordinator action creation
(materialization) time (in other words, it specifies a multiple of the dataset
frequency). It would be useful to have a new function that lets users specify
a date range offset instead of a frequency range offset.
A new function, {{${coord:offset(int n, String timeUnit)\}}}, would be similar
to the {{${coord:current(int n)\}}} function, except that the offset would be
based on the TimeUnit (i.e. "MINUTE", "HOUR", "DAY", "MONTH", or "YEAR")
instead of the frequency.
For example, if the frequency was 1 day, then the following would all be
equivalent:
{{${coord:current(1)\}}}
{{${coord:offset(1, "DAY")\}}}
{{${coord:offset(24, "HOUR")\}}}
{{${coord:offset(1440, "MINUTE")\}}}
When specifying dataset instances, the resolved value of {{${coord:offset(int
n, String timeUnit)\}}} would have to line up with an offset of a multiple of
the frequency when used in an {{<instance>}} element.
However, when used in {{<start-instance>}} and {{<end-instance>}}, the function
would automatically resolve the range of instances to match the offset of a
multiple of the frequency
that would fall between the {{<start-instance>}} and {{<end-instance>}}. For
example, if the frequency is 1 hour and the {{<start-instance>}} is
{{${coord:offset(-90, "MINUTE")\}}} (-1.5 hours).
then the {{<start-instance>}} would be effectively equivalent to
{{${coord:offset(-60, "MINUTE")\}}} as we are dealing with a range.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira