You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "duli (Jira)" <ji...@apache.org> on 2020/08/17 09:02:00 UTC

[jira] [Commented] (CALCITE-3271) Table-valued function windowing and EMIT syntax support in Calcite

    [ https://issues.apache.org/jira/browse/CALCITE-3271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17178853#comment-17178853 ] 

duli commented on CALCITE-3271:
-------------------------------

[~julianhyde] [~amaliujia] [~danny0405] 

We want to support 'order by the partition data within window' feature base on Table-valued Function, and it will partition the data by some keys without no aggregations. 
But currently, only SESSION Table-valued Function can partition data by 'keycol' argument, we want TUMBLE/HOP Table-valued Function also support it. Do you have any suggestions for this?

> Table-valued function windowing and EMIT syntax support in Calcite
> ------------------------------------------------------------------
>
>                 Key: CALCITE-3271
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3271
>             Project: Calcite
>          Issue Type: New Feature
>          Components: core
>    Affects Versions: 1.20.0, 1.21.0
>            Reporter: Danny Chen
>            Assignee: Rui Wang
>            Priority: Major
>
> Copied from the mailing list:
> Calcite has not implemented the syntax in that paper. I would support an effort to add it (unsurprising, since I am a co-author of that paper).
> EMIT STREAM is equivalent to the current SELECT STREAM syntax.
> There is no equivalent in current Calcite of the EMIT AFTER WATERMARK, or EMIT STREAM AFTER DELAY.
> HOP, TUMBLE and SESSION are supported in Calcite’s SQL parser, but following the paper would be replaced with a table function call. We could need to add HOP, TUMBLE and SESSION table functions. We would also need to make the system aware of how watermarks flow through these table functions (an area that the paper does not go into).
> Julian
> From Rui Wang
> Table-value function windowing means implementing TUMBLE/TOP/SESSION by table-value function. As table value functions, TUMBLE/HOP/SESSION assigns each row of input table to one or more intervals containing the specified watermarked event timestamp column. Those intervals are determined by the same way of current windowing support in Calcite: TUMBLE generates fixed length, non-overlapping intervals; HOP generates fixed length, overlapping intervals; SESSION generates sessionized intervals. The output table of this proposed implementation has all columns of input table plus two additional columns wstart and wend, which represent the start and the end of the interval respectively.
> possible gaps in current Calcite:
> 1. TABLE parameter support in table-value function.
> 2. DESCRIPTOR parameter support in table-value function.
> 3. TUMBLE/TOP/SESSION implemented as built-in table-value function.
> 4. EMIT AFTER WATERMARK and EMIT STREAM AFTER DELAY. 



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