[ 
https://issues.apache.org/jira/browse/OOZIE-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Kanter updated OOZIE-1028:
---------------------------------

    Attachment: OOZIE-1028.patch

I added a test that uses the offset EL function is a bunch of different ways, 
including edge cases.  I also created a second version of the Aggregator 
example that uses the offset function.  
                
> 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
>
>         Attachments: OOZIE-1028.patch
>
>
> 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