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

ASF GitHub Bot commented on FLINK-6969:
---------------------------------------

Github user wuchong commented on the issue:

    https://github.com/apache/flink/pull/4183
  
    Hi @fhueske , I like the `firstResultTimeOffset`, a good design !  👍 
    
    Regarding to the watermark and timestamp, it makes sense to me. And a 
simple approach come to my mind : assign a new 
`AssignerWithPunctuatedWatermarks`  after window aggregate. This will create an 
operator which ignores the upstream watermarks and assign new watermarks depend 
on the watermark function.
    
    The new watermark function can simply take the element's timestamp as the 
watermark.
    
    ```scala
    class TimestampAndWatermark[T] extends AssignerWithPunctuatedWatermarks[T] {
       
        override def checkAndGetNextWatermark(lastElement: T, 
extractedTimestamp: Long): Watermark = {
          new Watermark(extractedTimestamp)
        }
        
        override def extractTimestamp(element: T, originalTimestamp: Long): 
Long = originalTimestamp
      }
    ```
    



> Add support for deferred computation for group window aggregates
> ----------------------------------------------------------------
>
>                 Key: FLINK-6969
>                 URL: https://issues.apache.org/jira/browse/FLINK-6969
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API & SQL
>            Reporter: Fabian Hueske
>            Assignee: sunjincheng
>
> Deferred computation is a strategy to deal with late arriving data and avoid 
> updates of previous results. Instead of computing a result as soon as it is 
> possible (i.e., when a corresponding watermark was received), deferred 
> computation adds a configurable amount of slack time in which late data is 
> accepted before the result is compute. For example, instead of computing a 
> tumbling window of 1 hour at each full hour, we can add a deferred 
> computation interval of 15 minute to compute the result quarter past each 
> full hour.
> This approach adds latency but can reduce the number of update esp. in use 
> cases where the user cannot influence the generation of watermarks. It is 
> also useful if the data is emitted to a system that cannot update result 
> (files or Kafka). The deferred computation interval should be configured via 
> the {{QueryConfig}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to