Hi Flavio,

the reason is that under the covers the ReduceFunction will be used as the ReduceFunction of a ReducingState. And those cannot be rich functions because we cannot provide all the required context "inside" the state backend.

You can see how the ReduceFunction is used to create a ReducingStateDescriptor here: https://github.com/apache/flink/blob/0c43649882c831c1ec88f4e33d8a59b1cbf5f2fe/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/AllWindowedStream.java#L300

Best,
Aljoscha

On 16.07.20 16:28, Flavio Pompermaier wrote:
Hi to all,
I'm trying to apply a rich reduce function after a countWindowAll but Flink
says
"ReduceFunction of reduce can not be a RichFunction. Please use
reduce(ReduceFunction, WindowFunction) instead."

Is there any good reason for this? Or am I doing something wrong?

Best,
Flavio


Reply via email to