[ 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)