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

Reply via email to