Skip to content
Preptima
hardDesignScenarioMidSeniorStaff

Your Spark batch pipeline now needs results inside a minute. Do you move to Flink, and what breaks if you do?

Usually not yet. Itemise the minute across source, trigger interval, processing and read visibility, because a few-second micro-batch in Structured Streaming often fits it. Flink earns the move at sub-second latency or per-record state, and what breaks is the operational model: a long-lived job whose state you must migrate, and a sink that must be idempotent.

6 min readUpdated 2026-08-15

Answer

Short answer

Do not move a Spark batch pipeline to Flink until the one-minute latency budget is itemized. Check source latency, trigger interval, processing time and sink visibility first; Structured Streaming with short micro-batches often meets a minute. Flink is justified for sub-second latency, per-record state or timer-heavy logic, but it adds long-running state, savepoints, migrations and idempotent sink requirements.

Was this answer helpful?

Likely follow-ups

  • The source is a nightly file drop. What is the honest answer to the one-minute requirement, and what conversation do you have?
  • How would you backfill two years of history through a streaming topology you have just built?
  • Your state schema has to change. Walk through the deployment, and name where data loss becomes possible.
  • Which parts of this pipeline would you leave on the batch path even after the streaming one exists?

Related questions

Further reading