-
Notifications
You must be signed in to change notification settings - Fork 13.8k
[FLINK-19605][table-runtime-blink] Implement cumulative windowing for window aggregate operator #13650
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… window aggregate operator
|
cc @danny0405 |
|
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Automated ChecksLast check on commit 2cd041a (Fri May 28 07:11:56 UTC 2021) Warnings:
Mention the bot in a comment to re-run the automated checks. Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. DetailsThe Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commandsThe @flinkbot bot supports the following commands:
|
| this.offset = offset; | ||
| this.isEventTime = isEventTime; | ||
| this.paneSize = step; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If paneSize always equals step, keep only step is enough, because we always have limitation size must be an integral multiple of step.
| } | ||
|
|
||
| this.size = size; | ||
| this.step = step; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we support size argument that is not 1 day ? Say 2 days or 3 days ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should name it the maxSize because the window size is actually increasing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. We can support 2 days max size.
| assertor.assertOutputEqualsSorted("Output was not correct.", expectedOutput, testHarness.getOutput()); | ||
|
|
||
| testHarness.processWatermark(new Watermark(5999)); | ||
| expectedOutput.addAll(doubleRecord(isTableAggregate, insertRecord("key2", 1L, 1L, 3000L, 6000L, 5999L))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may also need to add a test case for the late arrive data.
|
@danny0405 please have a look again. |
| * @return The time policy. | ||
| */ | ||
| public static CumulativeWindowAssigner of(Duration size, Duration step) { | ||
| return new CumulativeWindowAssigner(size.toMillis(), step.toMillis(), 0, true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
size -> maxSize
|
The failed Azure is the unstable e2e tests. This change shouldn't affect e2e part. Merging... |
|
@danny0405 @wuchong |
What is the purpose of the change
Implements the cumulative window assigner and supports cumulative window aggregate in
WindowOperator.Brief change log
CumulativeWindowAssignerWindowOperatorBuilderVerifying this change
CumulativeWindowAssignerTestto testCumulativeWindowAssigner.WindowOperatorTest.Does this pull request potentially affect one of the following parts:
@Public(Evolving): (yes / no)Documentation