From my understanding, the benchmark was done using Structured Streaming
that is still based on micro batching.
There are not throughput numbers for the new "Continuous Processing"
model Spark want to introduce. Only some latency numbers. Also note,
that the new "Continuous Processing" will not give exactly-once
semantics but only at-least-once (at least initially). Thus, there is
some tradeoff to make using "Continuous Processing" once it's available.
- The benchmark is testing a complete toy case, with a few KBs of state. It says little about most interesting use cases with larger state.
- The Flink system runs the benchmark with a low latency engine that is also capable of exactly once guarantees. A thing that does not exist the other compared systems.
==> Test your personal application in Flink and Spark, with respect to performance, robustness to load spikes and backpressure, ability to operate/migrate/update, etc. I am pretty sure you will find that Flink has a lot of very powerful unique aspects to it for streaming applications.