Preparing chapter
Loading your data design lesson
The curriculum shell is ready while the requested chapter is being prepared. You can wait here or return to the design library.
Preparing chapter
The curriculum shell is ready while the requested chapter is being prepared. You can wait here or return to the design library.
Uber · Data Engineering
Explain topic keys, partition strategy, and late data controls.
Standardize the metadata Uber needs to operate every event; preserve the domain payload each producer owns.
Driver location event
geo.location_pings{
"event_id": "loc-7f31",
"event_time": "09:14:02Z",
"ingestion_time": "09:14:03Z",
"event_version": 2,
"driver_id": "drv-4471",
"geohash": "tdr1v",
"payload": { "lat": 12.9716, "lng": 77.5946,
"speed_kmh": 34.2 }
}Payment capture event
payments.events{
"event_id": "pay-91ac",
"event_time": "09:37:18Z",
"ingestion_time": "09:37:18Z",
"event_version": 3,
"trip_id": "trip-88213",
"payload": { "type": "payment_captured",
"amount": 428, "currency": "INR" }
}event_idevent_timeingestion_timeevent_versionentity IDsThe payload changes; these operational fields do not.Choose the Kafka key from the ordering and locality each Uber workload needs.
Calculate the minimum required for peak GPS traffic, then provision for how Uber will operate the topic.
Keep detailed GPS briefly for operational recovery, then reduce its precision for economical long-term analysis.