GitHub user twalthr opened a pull request:
https://github.com/apache/flink/pull/2562
[FLINK-4691] [table] Add group-windows for streaming tables
This PR implements Tumble, Slide, Session group-windows for streaming
tables as described in FLIP-11. It adds API, validation, logical
representation, and runtime components.
Some additional comments:
I have not implemented the 'systemtime' keyword yet as this would cause
more problems than it solves. Especially integrating it into the validation
layer would be tricky. The resolution of those special fields happens within a
WindowAggregate, however, the logical type of a window should already be known
at this point. We are mixing logical operators and expressions which is not
very nice. Furthermore, what happens in batch environment if 'systemtime' is
used? It could also be a existing column but does not have to be one. That is
not specified in the FLIP yet.
The aggregations are not very efficient yet. Currently this PR uses window
functions that wrap the GroupReduce functions. We have to rework the
aggregations first. Maybe we could use `WindowedStream#apply(R,
FoldFunction<T,R>, WindowFunction<R,R,K,W>, TypeInformation<R>)` which means
that `R` has to be created in the translation phase.
The tests are mainly ITCases yet, we might want to change that to unit
tests once we have means (like new test bases) to do that.
The website documentation is missing yet.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/twalthr/flink FLINK-4691
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2562.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 #2562
----
commit edbfe00cb0fd7ea8362c90988eb0860eb9ce6078
Author: twalthr <[email protected]>
Date: 2016-08-25T07:19:53Z
[FLINK-4691] [table] Add group-windows for streaming tables
----
---
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 [email protected] or file a JIRA ticket
with INFRA.
---