Streaming is not just real time. It is change as an API. Flink matters in ODI because it sits in the write path, where contracts either get enforced or ignored.

Why it matters

If your lakehouse is where the organization agrees on facts, then the streaming layer is where those facts are born. That makes it one of the highest impact places to design for correctness.

Flink can unify streaming and batch patterns, and it can write into open table formats when you set it up correctly. The key phrase is when you set it up correctly.

The ODI angle

In ODI, streaming is not a separate platform. It is a data-plane capability that should still land in open storage and open contracts.

Flink writing to Iceberg is a good example of the shape you want. The stream processor writes into an open table contract, and multiple engines can read it.

You still have to design for operations: failure recovery, exactly-once guarantees, schema evolution, compaction, and metadata visibility across engines.

Core idea: if the stream writes files instead of tables, you are not building ODI. You are building a file pile.

The architecture test

For data engineers, the test is whether your stream write path produces portable tables, not engine-specific artifacts.

  • Define which tables are streaming authoritative and which are derived.
  • Design schema evolution policies for event data and enforce them.
  • Test the Flink to Iceberg write path under failure, restart, and backpressure.
  • Decide how you handle corrections, late events, and deletes.
  • Own the operational loop: monitoring, backfills, compaction, and on-call playbooks.

What breaks first

This breaks when teams treat streaming correctness as a checkbox.

  • The stream writes Parquet files, but no table contract enforces schema, snapshots, or deletes.
  • Exactly-once is assumed but not proven under restarts and network partitions.
  • Schema changes turn into emergency deploys because there is no versioning policy.
  • The storage layer becomes a small-file mess and query performance collapses.

Questions to ask

Use these questions when you evaluate Apache Flink open data infrastructure for your data plane.

  • Are you writing into an open table format, or are you just writing files?
  • Which engine owns table maintenance after the stream writes?
  • How do you handle late events and corrections in business terms?
  • How do you validate exactly-once behavior for your real failure modes?
  • Can another engine read the tables immediately with correct semantics?

If you cannot answer those questions without "we think" and "we hope," you are not ready to call it an open data foundation.

Sources to start with

Start with the official docs and the connector docs, then test failure and recovery.