[
https://issues.apache.org/jira/browse/FLINK-11276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rong Rong updated FLINK-11276:
------------------------------
Component/s: DataStream API
> Slicing Window Optimization
> ---------------------------
>
> Key: FLINK-11276
> URL: https://issues.apache.org/jira/browse/FLINK-11276
> Project: Flink
> Issue Type: New Feature
> Components: DataStream API
> Affects Versions: 1.7.0
> Reporter: Rong Rong
> Assignee: Rong Rong
> Priority: Major
>
> This is the umbrella ticket for the discussion in:
> https://docs.google.com/document/d/1ziVsuW_HQnvJr_4a9yKwx_LEnhVkdlde2Z5l6sx5HlY/edit?usp=sharing
> We would like to support syntax for more flexible window aggregations:
> 1. slicing and merging:
> {code:java}
> val resultStream: DataStream = inputStream
> .keyBy("key")
> .sliceWindow(Time.seconds(5L)) // new “slice window” concept: to
> combine
> // tumble results based on discrete
> // non-overlapping windows.
> .sum("value")
> .slideOver(Count.of(5)) // new “slide over” concept to merge
> // tumble results.
> {code}
> and
> 2. sliding aggregation with multi intervals, such as:
> {code:java}
> val slicedStream: SlicedStream = inputStream
> .keyBy("key")
> .sliceWindow(Time.seconds(5L))
> .sum("value")
> val resultStream1: DataStream = slicedStream
> .slideOver(Time.seconds(10L)) // slide over 5-sec slices
> // for the last 10 seconds
> val resultStream2: DataStream = slicedStream
> .slideOver(Count.of(3)) // slide over 5-sec slices
> // for the last 3 slices (15 seconds)
> val resultStream3: DataStream = slicedStream
> .slideOver(Count.of(180)) // slide over 5-sec slices
> // for the last 3 slices (15 minutes)
> {code}
> and
> 3. replace current sliding window logic with more efficient slice and merge
> approach.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)