-
Notifications
You must be signed in to change notification settings - Fork 13.9k
[FLINK-12345] [table-planner-blink] Add support for generating optimized logical plan for stream window aggregate #8288
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
|
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community 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:
|
00d941d to
64561df
Compare
| * 0 means no delay (fire on every element). | ||
| * > 0 means the fire interval | ||
| */ | ||
| private var earlyFireInterval = DEFAULT_FIRE_INTERVAL |
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.
cc @wuchong here, do we want to support early fire in 1.9.0?
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.
I think we can support it if we expose early&late interval through options in TableConfig.
I think it's nice to have it.
| visitSetOp(minus) | ||
|
|
||
| override def visit(sort: LogicalSort): RelNode = { | ||
|
|
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.
delete blank line
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.
ok
| /** | ||
| * Streaming group window aggregate physical node which will be translate to window operator. | ||
| * | ||
| * If requirements satisfied, it will be translated into minibatch window operator, otherwise, |
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.
The minibatch-window is still in beta in Blink. I think we can support it after 1.9 release.
What do you think about removing minibatch-window relative comments and codes?
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.
It makes sense to me
| null, | ||
| OperandTypes.NILADIC, | ||
| SqlFunctionCategory.TIMEDATE); | ||
| ReturnTypes.cascade(ReturnTypes.explicit(SqlTypeName.TIMESTAMP), SqlTypeTransforms.TO_NULLABLE), |
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.
PROCTIME() is a built-in function used to generate proctime attribute field, whose return type must be proctime time indicator.
I think what you want is ProctimeMaterializeSqlFunction which materialize a proctime field into Timestamp field.
So I think we don't need to change this file. We should use FlinkSqlOperatorTable.PROCTIME_MATERIALIZE in RelTimeIndicatorConverter.
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.
I didn't notice ProctimeMaterializeSqlFunction's existence before, i will revert the changes in ProctimeSqlFunction
…zed logical plan for stream window aggregate
…rter and revert changes in ProctimeSqlFunction
|
Thanks @godfreyhe , it looks good to me now. |
What is the purpose of the change
Add support for generating optimized logical plan for stream window aggregate
Brief change log
Verifying this change
This change added tests and can be verified as follows:
Does this pull request potentially affect one of the following parts:
@Public(Evolving): ( no)Documentation