fhan created FLINK-22743:
----------------------------

             Summary: Adding offsets for TUMBLE* functions for more flexible 
window start and end time.
                 Key: FLINK-22743
                 URL: https://issues.apache.org/jira/browse/FLINK-22743
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / Planner
            Reporter: fhan


assume that we simply do some calculations using  TUMBLE* functions like:

"select name,
 TUMBLE_START(ts, INTERVAL '24' HOUR),
 TUMBLE_END(ts, INTERVAL '24' HOUR),
 count(*)
from source_table group by name, TUMBLE(ts, INTERVAL '24' HOUR);"

when ts = 2021-05-20 12:00:00,
the time of window start is 2021-05-20 08:00:00, and the end is 2021-05-21 
08:00:00.

This is not flexible when we want to change the start or end time of the 
windows. for example, if we want to  calculate from the middle of a day, so we 
need the window start time is 2021-05-20 12:00:00 and the end time is 
2021-05-21 12:00:00.

 

we can add offset for TUMBLE* function for meeting these requirements. 

for example, the query maybe:

"select name,
 TUMBLE_START(ts, INTERVAL '24' HOUR, INTERVAL '4' HOUR),
 TUMBLE_END(ts, INTERVAL '24' HOUR, INTERVAL '4' HOUR),
 count(*)
from source_table group by name, TUMBLE(ts, INTERVAL '24' HOUR, INTERVAL '4' 
HOUR);"

 

the third parameter( INTERVAL '4' HOUR) here is the offset for TUMBLE* 
functions.

 

This is a real requirement in our business, so we wonder whether this is a 
common requirement and whether our solution make sense.

welcome for discussion.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to