Skip to content

4.2. Stream Processing

Stream processing computes over data that never ends, which breaks the batch assumption that you can wait for all the input. The core difficulty is time itself: events arrive out of order and late, so the system must distinguish when something happened (event time) from when it was seen (processing time), and decide — via watermarks and windows — how long to wait for stragglers before emitting a result. This chapter builds the Dataflow model that made these questions answerable and grounds it in Apache Flink’s stateful engine.