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

sunjincheng edited comment on FLINK-5658 at 2/7/17 2:55 PM:
------------------------------------------------------------

Hi,[~Yuhong_kyo] I'm glad you're interested in this jira, and I'm trying to 
explain your question: 
 1. The semantics of OVER determines that both "processing-time" and 
"event-time" are output one result  per row.
 2. For your example, IMO:
* Without retraction situation, the output of the results are:
{code}
    A-> agg (A)
    B-> agg (A, B)
    C-> agg (A, B, C)
    D-> agg (A, B, D)
{code}
* With retraction situation:
{code}
    A-> agg (A)
    B-> agg (A, B)
    C-> agg (A, B, C)
    D-> agg (A, B, D)
    C-> retraction agg (A, B, C)
    C-> agg (A, B, D,C)
{code}
(node: implementation can be incremental)
These are my thoughts, for reference purposes only! 
What do you think ? [~Yuhong_kyo] [~fhueske]  If there is any mistake please 
let me know.  


was (Author: sunjincheng121):
Hi,[~Yuhong_kyo] I'm glad you're interested in this jira, and I'm trying to 
explain your question: 
 1. The semantics of OVER determines that both "processing-time" and 
"event-time" are output one result  per row.
 2. For your example, IMO:
* Without retraction situation, the output of the results are:
{code}
    A-> agg (A)
    B-> agg (A, B)
    C-> agg (A, B, C)
    D-> agg (A, B, D)
{code}
* With retraction situation:
{code}
    A-> agg (A)
    B-> agg (A, B)
    C-> agg (A, B, C)
    D-> agg (A, B, D)
    C-> retraction agg (A, B, C)
    C-> agg (A, B, D,C)
{code}
These are my thoughts, for reference purposes only! 
What do you think ? [~Yuhong_kyo] [~fhueske]  If there is any mistake please 
let me know.  

> Add event time OVER RANGE BETWEEN UNBOUNDED PRECEDING aggregation to SQL
> ------------------------------------------------------------------------
>
>                 Key: FLINK-5658
>                 URL: https://issues.apache.org/jira/browse/FLINK-5658
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API & SQL
>            Reporter: Fabian Hueske
>            Assignee: sunjincheng
>
> The goal of this issue is to add support for OVER RANGE aggregations on event 
> time streams to the SQL interface.
> Queries similar to the following should be supported:
> {code}
> SELECT 
>   a, 
>   SUM(b) OVER (PARTITION BY c ORDER BY rowTime() RANGE BETWEEN UNBOUNDED 
> PRECEDING AND CURRENT ROW) AS sumB,
>   MIN(b) OVER (PARTITION BY c ORDER BY rowTime() RANGE BETWEEN UNBOUNDED 
> PRECEDING AND CURRENT ROW) AS minB
> FROM myStream
> {code}
> The following restrictions should initially apply:
> - All OVER clauses in the same SELECT clause must be exactly the same.
> - The PARTITION BY clause is optional (no partitioning results in single 
> threaded execution).
> - The ORDER BY clause may only have rowTime() as parameter. rowTime() is a 
> parameterless scalar function that just indicates processing time mode.
> - bounded PRECEDING is not supported (see FLINK-5655)
> - FOLLOWING is not supported.
> The restrictions will be resolved in follow up issues. If we find that some 
> of the restrictions are trivial to address, we can add the functionality in 
> this issue as well.
> This issue includes:
> - Design of the DataStream operator to compute OVER ROW aggregates
> - Translation from Calcite's RelNode representation (LogicalProject with 
> RexOver expression).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to