Hi, My pipeline step is something like this: SingleOutputStreamOperator<ReducedData> reducedData = data .keyBy(new KeySelector()) .window( TumblingEventTimeWindows.of(Time.seconds(secs))) .reduce(new DataReducer()) .name("reduce");
This works fine for secs = 300. However once I increase the time window to say 1 hour or 3600 the state size increases as now it has a lot more records to reduce. Hence I need to allocate much more memory to the task manager. However there is no upper limit to this memory allocated. If the volume of data increases by say 10 fold I would have no option but to again increase the memory. Is there a better way to perform long window aggregation so overall this step has a small memory footprint. Thanks Sachin