Where in event time?
| Google Cloud Dataflow | Prism Local Runner | Apache Flink | Apache Spark (RDD/DStream based) | Apache Spark Structured Streaming (Dataset based) | Apache Nemo | Hazelcast Jet | Kafka Streams (experimental, not released) | Twister2 | Python Direct FnRunner | |
|---|---|---|---|---|---|---|---|---|---|---|
| Global windows | Yes : default | Yes : default | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | Yes : fully supported |
| Fixed windows | Yes : built-in | Yes : fully supported | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | Yes : fully supported Windowing runs through Beam's ReduceFnRunner over Kafka Streams state and timers. |
| Sliding windows | Yes : built-in | Yes : fully supported | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | Yes : fully supported |
| Session windows | Yes : built-in | No : | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | No : not implemented Sessions are merging windows, which the windowing implementation does not handle yet. |
| Custom windows | Yes : supported | No : | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | No : not implemented Only the standard WindowFns, which travel as URNs the runner interprets directly. |
| Custom merging windows | Yes : supported | No : | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | No : not implemented |
| Timestamp control | Yes : supported | No : Not supported | Yes : supported | Yes : supported | Partially : fully supported in batch mode | Yes : supported | Yes : supported | Yes : supported | Yes : supported | Yes : fully supported Timestamp combiners are applied by ReduceFnRunner. |
Last updated on 2026/08/28
Have you found everything you were looking for?
Was it all useful and clear? Is there anything that you would like to change? Let us know!

