[ https://issues.apache.org/jira/browse/CALCITE-3737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17125524#comment-17125524 ]
Rui Wang commented on CALCITE-3737: ----------------------------------- [~danny0405] Viliam also brings some good points at https://jira.apache.org/jira/browse/CALCITE-4000?focusedCommentId=17107665&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17107665. My response was the following comment. You can also check it for more context. > HOP Table-valued Function > ------------------------- > > Key: CALCITE-3737 > URL: https://issues.apache.org/jira/browse/CALCITE-3737 > Project: Calcite > Issue Type: Sub-task > Reporter: Rui Wang > Assignee: Rui Wang > Priority: Major > Labels: pull-request-available > Fix For: 1.23.0 > > Time Spent: 20h 10m > Remaining Estimate: 0h > > Hopping windows place intervals of a fixed size evenly spaced across event > time. Most importantly, in the most common use a given event time timestamp > will generally fall into more than one window. > The table-valued function Hop may produce zero, one, or multiple rows > corresponding to each row of input. Hop takes four required parameters and > one optional parameter. All parameters are analogous to those for Tumble > except for hopsize, which specifies the duration between the starting points > (and endpoints) of the hopping windows, allowing for overlapping windows > (hopsize < dur, common) or gaps in the data (hopsize > dur, rarely useful). > {code:java} > Hop (data , timecol , dur, hopsize) > {code} > The return value of Hop is a relation that includes all columns of data as > well as additional event time columns wstart and wend. Here is an example > (from https://s.apache.org/streaming-beam-sql ): > {code:sql} > SELECT * > FROM Hop ( > data => TABLE Bids , > timecol => DESCRIPTOR ( bidtime ) , > dur => INTERVAL '10' MINUTES , > hopsize => INTERVAL '5' MINUTES ); > ------------------------------------------ > | wstart | wend | bidtime | price | item | > ------------------------------------------ > | 8:00 | 8:10 | 8:07 | $2 | A | > | 8:05 | 8:15 | 8:07 | $2 | A | > | 8:05 | 8:15 | 8:11 | $3 | B | > | 8:10 | 8:20 | 8:11 | $3 | B | > | 8:00 | 8:10 | 8:05 | $4 | C | > | 8:05 | 8:15 | 8:05 | $4 | C | > | 8:00 | 8:10 | 8:09 | $5 | D | > | 8:05 | 8:15 | 8:09 | $5 | D | > | 8:05 | 8:15 | 8:13 | $1 | E | > | 8:10 | 8:20 | 8:13 | $1 | E | > | 8:10 | 8:20 | 8:17 | $6 | F | > | 8:15 | 8:25 | 8:17 | $6 | F | > ------------------------------------------ > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)