Hi
I was looking at TumblingProcessingTimeWindows.java
<https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/assigners/TumblingProcessingTimeWindows.java>
and was a bit confused with the documentation at the start of this class. It
says the following:
/**
* A {@link WindowAssigner} that windows elements into windows based on the
current
* system time of the machine the operation is running on. Windows cannot
overlap.
*
* <p>For example, in order to window into windows of 1 minute, every 10
seconds:
* <pre> {@code
* DataStream<Tuple2<String, Integer>> in = ...;
* KeyedStream<String, Tuple2<String, Integer>> keyed = in.keyBy(...);
* WindowedStream<Tuple2<String, Integer>, String, TimeWindows> windowed =
* keyed.window(TumblingProcessingTimeWindows.of(Time.of(1, MINUTES),
Time.of(10, SECONDS));
* } </pre>
*/
It says one can have tumbling windows of 1 minute, every 10 seconds. Doesn’t
this become a sliding window then? The SlidingProcessTimeWindows.java
<https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/assigners/SlidingProcessingTimeWindows.java>
has the exact same documentation with just one tiny change (“Windows can
possibly overlap”). It seems to me that in the above documentation, the second
Time argument of 10 seconds is for providing the window offset (as confirmed
here
<https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/assigners/TumblingProcessingTimeWindows.java#L92>)
and not for starting the tumbling window every 10 seconds.
Thanks
--------------------------------------------------
Dhruv Kumar
PhD Candidate
Department of Computer Science and Engineering
University of Minnesota
www.dhruvkumar.me