Data enrichment patterns with Apache Flink
summary
Compares five concrete enrichment patterns implemented with Apache Flink and shows what actually works: preload tiny static maps into each subtask memory for 1,700 airport codes, use Flink keyed state for partitioned caches and TTL, call external models via ordered vs unordered async IO, or stream reference updates with Debezium + Kafka CDC into MapState and coProcessFunction. Demo uses Aurora MySQL → Debezium → Kafka → Flink, handles late orders by selecting the rate valid at event time, and shows tradeoffs in latency, throughput and operational complexity.
AI-written summary · about
chapters (10)
- 0:00Introduction to data enrichment
- 1:15Streaming data enrichment context
- 2:45Caching reference data in tasks
- 5:13Partitioned caching in Flink state
- 8:35Synchronous and async lookups
- 12:52TTL caching with state
- 15:45Streaming reference data as events
- 17:55Demo overview and setup
- 23:14Demo code walkthrough
- 26:03Summary and trade-offs
related talks
50mStream Processing Smackdown: Kafka Streams vs. Apache Flink
46mFlink SQL in 2020: Time to show off!
41mBeyond the Hype: When Apache Flink Solves Real Problems
43mA Data Streaming Architecture with Apache Flink #bbuzz
39mDeclarative stream processing...
38mApache Flink: A Very Quick Guide
43mContinuous SQL with Kafka and Flink
42mApache Flink deep-dive #bbuzz
