Rong Rong created FLINK-11276:
---------------------------------
Summary: Slicing Window Optimization
Key: FLINK-11276
URL:
https://issues.apache.org/jira/browse/FLINK-11276 Project: Flink
Issue Type: New Feature
Reporter: Rong Rong
This is the umbrella ticket for the discussion in:
https://docs.google.com/document/d/1ziVsuW_HQnvJr_4a9yKwx_LEnhVkdlde2Z5l6sx5HlY/edit?usp=sharingWe 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)