GrabShi Kai NgProblem & solution
Rethinking Stream Processing: Data Exploration
Summary
Online data materialised in Kafka topics at Grab traditionally remained uninspected until ingested into the Data Lake as offline data, introducing latency and making stream processing applications difficult to develop. To enable earlier data exploration, Grab adopted Apache Zeppelin notebooks integrated with an internal data streaming platform. Zeppelin uses a Flink interpreter to convert interactive SQL queries into Flink jobs submitted to a Flink session cluster. The platform dynamically translates Protobuf schemas into SQL Data Definition Language statements to simplify table discovery. Security and compliance risks are addressed by combining mutual TLS authentication with Strimzi's Open Policy Agent to enforce read-only access policies and audit logging on Kafka topics.
Context
Online streaming data in Kafka topics was underutilised and difficult to explore prior to Data Lake ingestion, hindering data end users from quickly understanding schemas, testing logic, and building stream processing applications.
Approach / What changed
Grab integrated Apache Zeppelin notebooks supporting Flink SQL into its streaming platform control plane, automated Protobuf-to-DDL derivation, and secured Kafka topic access using mTLS and Strimzi Open Policy Agent integration.
Takeaways
Zeppelin notebooks pass interactive user queries to a Flink interpreter, which generates a JAR file and submits it to a Flink session cluster to execute and return results.
Integrated tooling maps the Protobuf schema definition of a Kafka stream directly to SQL DDL, eliminating the need to manually write table definitions.
Data access authorization and audit trails are managed by authenticating users via mTLS certificates and enforcing read-only topic access policies through Strimzi's Open Policy Agent.
Source and freshness
- Source
- engineering.grab.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related 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.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.