Rong Rong commented on FLINK-8690:

I created one of the initial (not at all perfect) support trying to create 
special treatment by adding a distinct rule on DataStreamNormRuleSet, so 
logical plan for DataStream directly coverts distinct logicalAggregate to 
FlinkLogicalAggregates, while DataSet still goes through 
AggregateExpandDistinctAggregatesRule.  Please see them here:

[~hequn8128] mentioned that we can override the match() function to achieve 
this. However, in order to separately generate logical plan for DataSet and 
DataStream, current solution I can think off is to add new rule with the 
NormRuleSet. Do you think this is the right path?

Any comments or suggestions are highly appreciate :-)

> Update logical rule set to generate FlinkLogicalAggregate explicitly allow 
> distinct agg on DataStream
> -----------------------------------------------------------------------------------------------------
>                 Key: FLINK-8690
>                 URL: https://issues.apache.org/jira/browse/FLINK-8690
>             Project: Flink
>          Issue Type: Sub-task
>            Reporter: Rong Rong
>            Assignee: Rong Rong
>            Priority: Major
> Currently, *FlinkLogicalAggregate / FlinkLogicalWindowAggregate* does not 
> allow distinct aggregate.
> We are proposing to reuse distinct aggregate codegen work designed for 
> *FlinkLogicalOverAggregate*, to support unbounded distinct aggregation on 
> datastream as well.

This message was sent by Atlassian JIRA

Reply via email to