When I test Non-windowed group-aggregate with stream.toTable(tEnv, 'a, 'b, 'c).select('a.sum, weightAvgFun('a, 'b)).toAppendStream[Row].addSink(new StreamITCase.StringSink), I got the error as follows:
The reason is DataStreamGroupAggregate#producesUpdates as follows:
I think in the view of the user, what user want are(for example):
- Case 2:
In fact about #Case 1,we can using unbounded OVER windows, as follows:
But after the FLINK-6649 OVER can not express the #Case1 with earlyFiring.
So I still think that Non-windowed group-aggregate not always update-table, user can decide which mode to use.
Is there any drawback to this improvement? Welcome anyone feedback?