Topology snip: datastream = some_stream.keyBy(keySelector).timeWindow(Time.seconds(60)).reduce(new some_KeyReduce());
If I have a KeySelector that's pretty 'loose' (IE lots of matches) the 'some_KeyReduce' function gets hit frequently and some set of values is printed out via 'datastream.print()'. If I have a more stringent KeySelector the 'keyReduce' function never gets called but the 'datastream.print()' function still outputs numerous values. So how are the KeySelector and the output of the datastream.print() related? Or are they?