HuangXingBo commented on a change in pull request #14791:
URL: https://github.com/apache/flink/pull/14791#discussion_r569195396
##########
File path:
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/plan/rules/physical/stream/StreamPhysicalPythonGroupWindowAggregateRule.java
##########
@@ -78,11 +78,11 @@ public boolean matches(RelOptRuleCall call) {
.anyMatch(x -> PythonUtil.isPythonAggregate(x,
PythonFunctionKind.PANDAS));
boolean existJavaFunction =
aggCalls.stream().anyMatch(x ->
!PythonUtil.isPythonAggregate(x, null));
+ if (existPandasFunction && existGeneralPythonFunction) {
+ throw new TableException(
+ "Pandas UDAFs and General Python UDAFs are not supported
in used together currently.");
Review comment:
The serializer used by general UDF and pandas cannot be easily used in
the same data channel. So for `General UDF` and `Pandas UDF`, we added a
special logical rule(`PythonCalcSplitPandasInProjectionRule`) to separate them
into the different operator, but for `UDAF`, we can't separate these `UDAF`s
into different operators.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]