How Apache Flink Processes Streaming Data
Apache Flink is a distributed stream-processing framework that ingests continuous data, applies transformations in parallel, and outputs results with fault tolerance and low latency.
GrabShuguang XiangProblem & solution
Hugo evolved from a batch-oriented Spark platform into Grab’s unified, self-service data ingestion system for near real-time pipelines. The earlier expansion across Kafka Connect, Sprinkler, and Hugo fragmented onboarding, forcing users to translate configurations and manage manual schema changes across systems. A custom automation layer and Apache Flink now orchestrate one-click MySQL CDC and Kafka ingestion, retiring Kafka Connect and Sprinkler for the data lake. For CDC, Flink reads the binlog directly, uses automated schema detection and dynamic validation, and writes to queryable Hive tables through Spark compaction; for Kafka, it fetches Protobuf schemas from Confluent Schema Registry at runtime and resumes from the latest checkpoint after restart. Onboarding now takes approximately three minutes for MySQL CDC and six for Kafka, although schema updates still require manual restarts; new pipeline adoption in the last year also exceeded the previous five years combined.
Hugo’s expansion from batch ingestion to near real-time Kafka and MySQL binlog pipelines created a distributed architecture spanning Kafka Connect, Sprinkler, and Hugo. Users faced fragmented onboarding, cross-system configuration translation, schema propagation confusion, and coordination overhead.
Hugo introduced a custom automation layer with Apache Flink to unify ingestion workflows. Flink reads MySQL binlogs directly, dynamically fetches Kafka Protobuf schemas from Confluent Schema Registry, and orchestrates writing and Spark compaction into queryable Hive tables through a centralized, self-service control plane.
Flink CDC reduced the MySQL ingestion footprint from four disparate components to two core components, removed the intermediary Kafka hop, and enabled direct binlog-to-Hive ingestion with Spark compaction.
Kafka pipelines dynamically retrieve Protobuf schemas from Confluent Schema Registry, but schema changes still require pipeline owners to manually restart Flink so processing can resume from the latest checkpoint.
Reported onboarding times are approximately six minutes for Kafka pipelines and three minutes for MySQL CDC pipelines; new pipeline adoption in the last year exceeded the total from the preceding five years.
Summaries are generated from the original by a language model. Check the original before relying on it.
See the idea
Apache Flink is a distributed stream-processing framework that ingests continuous data, applies transformations in parallel, and outputs results with fault tolerance and low latency.
Keep reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
One useful email. Unsubscribe anytime.