I have read the documentation of streaming mode and batch mode. I assume that if I have an unbounded stream and I apply windows (like tumbling) on it it becomes a bounded stream? Please correct and stop me here if I am wrong. But that s what I understood from the documentation and this picture, which apparently represents a bounded stream can exist inside an unbounded stream, practically what windows (i.e Tumbling) does:
... In case that s right, If I am applying tumbling window on an unbounded input stream (thus converting it to bounded) and set it to be on batch mode, does the first window filling up have to reach the sink so the new incoming window can be read? For example, if window #1 is formed and it takes 5 seconds for each window to reach the sink, but before those 5 seconds at second 2 a window#2 would have already been ready at the source, does flink in batch mode will NOT read window#2 until window#1 has reached the sink?
In other words, which of these is correct?
- Window#1 arrives at t=1, and until it reaches the sink at t=5 then window#2 is read at t=5, which means window#2 leaves the sink at t=10
- Window#1 arrives at t=1, and as it progresses through the operators downstreams, window#2 arrives at t=2 and it also flows downstream, meaning the entire pipeline has windows 1 and 2 on different stages, but both present in the pipeline at the same time. Eventually window#1 leaves the sink at t=5 and window#2 around t=7
Option 1 Implies there can only be one window at a time anywhere in the pipeline. Option 2 implies there can be multiple windows in the pipeline (regardless of the operator they are at) at the same time