[
https://issues.apache.org/jira/browse/CALCITE-3737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17125510#comment-17125510
]
Danny Chen commented on CALCITE-3737:
-------------------------------------
Thanks for the sharing, i think we need more discussion about the final version
of Calcite window functions, mainly about 2 points:
1. The function signature, which is closer to users (the operands form, and
order)
2. The translation of the function, which is almost internal (as table or as
cursor ? what to translate about the referenced column, a correlated column ?)
1 is the important to users, 2 is important to downstream projects, these 2
points need more conformation and discussions.
[~vilo] Welcome to join the discussion, i would summary my confusion and
collected feedbacks then fire a thread soon ~
Also cc [~amaliujia].
> 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)