GitHub user StephanEwen opened a pull request: https://github.com/apache/flink/pull/1175
[FLINK-2753] [streaming] [api breaking] Add first parts of new window API for key grouped windows This follows the API design outlined in https://cwiki.apache.org/confluence/display/FLINK/Streams+and+Operations+on+Streams This change is API breaking because it adds new generic type parameters to Java and Scala classes, breaking binary compatibility. This new API uses in the background the dedicated operators added in a previous pull request, which improved robustness and performance and fixed several correctness bugs. ### New window API ```java DataStream<MyType> stream = ...; stream.keyBy("id") .window(Time.of(5, SECONDS)) .reduceWindow( (a, b) -> a.fuse(b) ) ``` The Pull Request also introduces the first parts of defining the programs Time characteristic on the StreamExecutionEnvironment: - *Processing time* - *Ingestion time* - *Event time* Eventually, the other window mechanisms should be replaced by this: - Windows per key are covered in this new mechanism - Global windows (global parallel discretization) were decided to be dropped for safety and replaced by single-group windows (non parallel) with possible parallel pre-aggregation (for aligned time windows) ### Follow-up - Adding the generic window operator based on generic policies (adaption of the current windowing system by @aljoscha ), see https://issues.apache.org/jira/browse/FLINK-2677 - Automatically activating and configuring Watermark generation at the data sources - Adding a dedicated Event Time Window operator - Adding the single-group non-parallel windows You can merge this pull request into a Git repository by running: $ git pull https://github.com/StephanEwen/incubator-flink windows Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/1175.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1175 ---- commit 61c3666a272413940e65a2195b87c7472a8e8806 Author: Stephan Ewen <se...@apache.org> Date: 2015-09-23T10:05:54Z [FLINK-2753] [streaming] [api breaking] Add first parts of new window API for key grouped windows This follows the API design outlined in https://cwiki.apache.org/confluence/display/FLINK/Streams+and+Operations+on+Streams This is API breaking because it adds new generic type parameters to Java and Scala classes, breaking binary compatibility. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---