SlideShare a Scribd company logo
Geospatial Situation Detection through
FlinkCEP @Uber
Niel Hu
Engineer | Uber
niel.hu@uber.com
Uber | Geospatial Situation Detection through FlinkCEP
● Marketplace
● Observability Problem
● Large-Scale Clustering
● Situation Detection through Pattern Matching
● Tips, Tricks and Lessons Learned
Outline
Uber | Geospatial Situation Detection through FlinkCEP
Marketplace
● Modeling the physical world
● Global Logistics Network
● Real-Time Decision Engine
Uber | Geospatial Situation Detection through FlinkCEP
Marketplace
Dynamic Pricing
Forecasting
Driver Positioning
Intelligent Dispatch Marketplace Health
Marketplace Platform & Data
Fares
Driver / Rider Pricing
Uber | Geospatial Situation Detection through FlinkCEP
Photo: Jessica Christian / The Chronicle
Observability Problem
Uber | Geospatial Situation Detection through FlinkCEP
Source: Giphy
[https://giphy.com/gifs/FmNXeuoadNTpe]
Scaling Observability
● 700+ Cities
● Local Heterogeneity
● Space and Time Dimensions
● Real-Time Constraints
Uber | Geospatial Situation Detection through FlinkCEP
Problem
EDGE ZOOM IN PATTERN MATCH OBSERVER
Uber | Geospatial Situation Detection through FlinkCEP
Detecting the Region
● Similar Characteristics
● Connected Region
● Arbitrary Shape
● Cheap in Computation
Uber | Geospatial Situation Detection through FlinkCEP
Detecting the Region through clustering
● K-means ?
● Density-based clustering ?
Uber | Geospatial Situation Detection through FlinkCEP
Density-based Spatial Clustering with Noise
● Epsilon Ball Rule
● Worst Case
○ O(n²) !
○ O(n log n)
(auxiliary data structure)
Uber | Geospatial Situation Detection through FlinkCEP
How can we do better ?
Uber | Geospatial Situation Detection through FlinkCEP
H3 : Hexagonify the World !
https://h3geo.org/#/
Uber | Geospatial Situation Detection through FlinkCEP
Credited to Nick Rabinowitz
Uber | Geospatial Situation Detection through FlinkCEP
Credited to Nick Rabinowitz
Uniform Adjacency
Uber | Geospatial Situation Detection through FlinkCEP
Credited to Nick Rabinowitz
DBSCAN in Hexagons
Uber | Geospatial Situation Detection through FlinkCEP
Data SIO, NOAA, U.S. Navy, NGA, GEBCO,
Image Landsat / Copernicus
Image IBCAO
Credited to Nick Rabinowitz
Uber | Geospatial Situation Detection through FlinkCEP
Junior, M.R., Souza, B.J., & Endler, M. (2019). DG2CEP: a near
real-time on-line algorithm for detecting spatial clusters large
data streams through complex event processing. Journal of
Internet Services and Applications, 10, 1-28.
Low-Latency Clustering on Streams
Uber | Geospatial Situation Detection through FlinkCEP
Low-Latency Clustering on Streams
Uber | Geospatial Situation Detection through FlinkCEP
Clustering on streaming data
● Create
● Update
● Merge (expensive!)
Uber | Geospatial Situation Detection through FlinkCEP
Clustering on streaming data
● Disperse
● Split (expensive!)
Uber | Geospatial Situation Detection through FlinkCEP
Static clusters are not good enough to capture
marketplace dynamics
Uber | Geospatial Situation Detection through FlinkCEP
Situation
CLUSTERS IN MOTION
t1 t2 t3
Uber | Geospatial Situation Detection through FlinkCEP
Complex Event Processing
Uber | Geospatial Situation Detection through FlinkCEP
CEP : Cluster as Primitive
Overlap / Expand
Overlap / Shrink
S1
Time
S2
Uber | Geospatial Situation Detection through FlinkCEP
Time
S+ followed by S
CEP : Situation as Primitive
Uber | Geospatial Situation Detection through FlinkCEP
Human in the loop
Uber | Geospatial Situation Detection through FlinkCEP
Dynamic Rule Configuration
Uber | Geospatial Situation Detection through FlinkCEP
Tips, Tricks and Lessons learned
Uber | Geospatial Situation Detection through FlinkCEP
Staggering Window
● Thundering Herd Workload
● Low utilization of compute resource
● Massive Fan-Out
Uber | Geospatial Situation Detection through FlinkCEP
Staggering Window
FLINK-12855
Uber | Geospatial Situation Detection through FlinkCEP
Staggering Window
FLINK-12855
Uber | Geospatial Situation Detection through FlinkCEP
Continuous Learning on Streams
● Non-Stationarity !
● Overfitting to the Noise
● Combine Offline/Online Models
Uber | Geospatial Situation Detection through FlinkCEP
Thank you !
niel.hu@uber.com
https://www.linkedin.com/in/tenghu/
Uber | Geospatial Situation Detection through FlinkCEP
Appendix
Uber | Geospatial Situation Detection through FlinkCEP
Observe, Orient, Decide, Act

More Related Content

What's hot

Planet: Imaging Earth Every Day
Planet: Imaging Earth Every DayPlanet: Imaging Earth Every Day
Planet: Imaging Earth Every Day
Safe Software
 
UROP Symposium Poster
UROP Symposium PosterUROP Symposium Poster
UROP Symposium PosterNeil Schwartz
 
Effect of Weather on Uber Ridership_rev1 (1)
Effect of Weather on Uber Ridership_rev1 (1)Effect of Weather on Uber Ridership_rev1 (1)
Effect of Weather on Uber Ridership_rev1 (1)Anusha Mamillapalli
 
2015 on Spatial Development (Personal Projects)
2015 on Spatial Development (Personal Projects)2015 on Spatial Development (Personal Projects)
2015 on Spatial Development (Personal Projects)
David Eliseo Martinez Castellanos
 
android.location - a tool for developers or GNSS researchers?
android.location - a tool for developers or GNSS researchers?android.location - a tool for developers or GNSS researchers?
android.location - a tool for developers or GNSS researchers?
Lukasz Kosma Bonenberg
 
GOOGLE EARTH INTRODUCTION
GOOGLE EARTH INTRODUCTIONGOOGLE EARTH INTRODUCTION
GOOGLE EARTH INTRODUCTION
Akshat Singh
 
A Day in the Life of King County GIS
A Day in the Life of King County GISA Day in the Life of King County GIS
A Day in the Life of King County GIS
Greg Babinski
 

What's hot (7)

Planet: Imaging Earth Every Day
Planet: Imaging Earth Every DayPlanet: Imaging Earth Every Day
Planet: Imaging Earth Every Day
 
UROP Symposium Poster
UROP Symposium PosterUROP Symposium Poster
UROP Symposium Poster
 
Effect of Weather on Uber Ridership_rev1 (1)
Effect of Weather on Uber Ridership_rev1 (1)Effect of Weather on Uber Ridership_rev1 (1)
Effect of Weather on Uber Ridership_rev1 (1)
 
2015 on Spatial Development (Personal Projects)
2015 on Spatial Development (Personal Projects)2015 on Spatial Development (Personal Projects)
2015 on Spatial Development (Personal Projects)
 
android.location - a tool for developers or GNSS researchers?
android.location - a tool for developers or GNSS researchers?android.location - a tool for developers or GNSS researchers?
android.location - a tool for developers or GNSS researchers?
 
GOOGLE EARTH INTRODUCTION
GOOGLE EARTH INTRODUCTIONGOOGLE EARTH INTRODUCTION
GOOGLE EARTH INTRODUCTION
 
A Day in the Life of King County GIS
A Day in the Life of King County GISA Day in the Life of King County GIS
A Day in the Life of King County GIS
 

Similar to Virtual Flink Forward 2020: Geospatial Situation Detection through FlinkCEP @Uber - Teng (Niel) Hu

Driving behaviors for adas and autonomous driving XII
Driving behaviors for adas and autonomous driving XIIDriving behaviors for adas and autonomous driving XII
Driving behaviors for adas and autonomous driving XII
Yu Huang
 
Koober Preduction IO Presentation
Koober Preduction IO PresentationKoober Preduction IO Presentation
Koober Preduction IO Presentation
Salesforce Engineering
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine Learning
James Ward
 
TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1
TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1
TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1
NanubalaDhruvan
 
20210226 esa-science-coffee-v2.0
20210226 esa-science-coffee-v2.020210226 esa-science-coffee-v2.0
20210226 esa-science-coffee-v2.0
Advanced-Concepts-Team
 
The Impact of Always-on Connectivity for Geospatial Applications and Analysis
The Impact of Always-on Connectivity for Geospatial Applications and AnalysisThe Impact of Always-on Connectivity for Geospatial Applications and Analysis
The Impact of Always-on Connectivity for Geospatial Applications and Analysis
SingleStore
 
mzyautonavigationsystem.pptx
mzyautonavigationsystem.pptxmzyautonavigationsystem.pptx
mzyautonavigationsystem.pptx
mzy201030
 
Putting Your Data on a Map
Putting Your Data on a MapPutting Your Data on a Map
Putting Your Data on a Map
Shawn Day
 
최근의 공간정보 동향과 시사점 - 한국역학회 특강
최근의 공간정보 동향과 시사점 - 한국역학회 특강최근의 공간정보 동향과 시사점 - 한국역학회 특강
최근의 공간정보 동향과 시사점 - 한국역학회 특강
SANGHEE SHIN
 
Surveying Areas in Developing Regions Through Context Aware Drone Mobility
Surveying Areas in Developing Regions Through Context Aware Drone MobilitySurveying Areas in Developing Regions Through Context Aware Drone Mobility
Surveying Areas in Developing Regions Through Context Aware Drone Mobility
Alessandro Montanari
 
Transit 2.0 - World Intelligent Transportation Systems Congress
Transit 2.0 - World Intelligent Transportation Systems CongressTransit 2.0 - World Intelligent Transportation Systems Congress
Transit 2.0 - World Intelligent Transportation Systems Congress
Aaron Antrim
 
Lesson3 esa summer_school_brovelli
Lesson3 esa summer_school_brovelliLesson3 esa summer_school_brovelli
Lesson3 esa summer_school_brovelli
Maria Antonia Brovelli
 
Transit sketch planning (webinar slides)
Transit sketch planning (webinar slides)Transit sketch planning (webinar slides)
Transit sketch planning (webinar slides)
garrjacobs
 
Swarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEESwarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEE
Asad Masood
 

Similar to Virtual Flink Forward 2020: Geospatial Situation Detection through FlinkCEP @Uber - Teng (Niel) Hu (15)

Driving behaviors for adas and autonomous driving XII
Driving behaviors for adas and autonomous driving XIIDriving behaviors for adas and autonomous driving XII
Driving behaviors for adas and autonomous driving XII
 
Koober Preduction IO Presentation
Koober Preduction IO PresentationKoober Preduction IO Presentation
Koober Preduction IO Presentation
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine Learning
 
TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1
TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1
TRAFFIC MANAGEMENT THROUGH SATELLITE IMAGING -- Part 1
 
20210226 esa-science-coffee-v2.0
20210226 esa-science-coffee-v2.020210226 esa-science-coffee-v2.0
20210226 esa-science-coffee-v2.0
 
The Impact of Always-on Connectivity for Geospatial Applications and Analysis
The Impact of Always-on Connectivity for Geospatial Applications and AnalysisThe Impact of Always-on Connectivity for Geospatial Applications and Analysis
The Impact of Always-on Connectivity for Geospatial Applications and Analysis
 
mzyautonavigationsystem.pptx
mzyautonavigationsystem.pptxmzyautonavigationsystem.pptx
mzyautonavigationsystem.pptx
 
Putting Your Data on a Map
Putting Your Data on a MapPutting Your Data on a Map
Putting Your Data on a Map
 
최근의 공간정보 동향과 시사점 - 한국역학회 특강
최근의 공간정보 동향과 시사점 - 한국역학회 특강최근의 공간정보 동향과 시사점 - 한국역학회 특강
최근의 공간정보 동향과 시사점 - 한국역학회 특강
 
Surveying Areas in Developing Regions Through Context Aware Drone Mobility
Surveying Areas in Developing Regions Through Context Aware Drone MobilitySurveying Areas in Developing Regions Through Context Aware Drone Mobility
Surveying Areas in Developing Regions Through Context Aware Drone Mobility
 
Transit 2.0 - World Intelligent Transportation Systems Congress
Transit 2.0 - World Intelligent Transportation Systems CongressTransit 2.0 - World Intelligent Transportation Systems Congress
Transit 2.0 - World Intelligent Transportation Systems Congress
 
Lesson3 esa summer_school_brovelli
Lesson3 esa summer_school_brovelliLesson3 esa summer_school_brovelli
Lesson3 esa summer_school_brovelli
 
jardin
jardinjardin
jardin
 
Transit sketch planning (webinar slides)
Transit sketch planning (webinar slides)Transit sketch planning (webinar slides)
Transit sketch planning (webinar slides)
 
Swarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEESwarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEE
 

More from Flink Forward

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
Flink Forward
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
Flink Forward
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
Flink Forward
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Flink Forward
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
Flink Forward
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
Flink Forward
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Flink Forward
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
Flink Forward
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
Flink Forward
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
Flink Forward
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
Flink Forward
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
Flink Forward
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Flink Forward
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
Flink Forward
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
Flink Forward
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
Flink Forward
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Flink Forward
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
Flink Forward
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
Flink Forward
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
Flink Forward
 

More from Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 

Recently uploaded

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Virtual Flink Forward 2020: Geospatial Situation Detection through FlinkCEP @Uber - Teng (Niel) Hu

  • 1. Geospatial Situation Detection through FlinkCEP @Uber Niel Hu Engineer | Uber niel.hu@uber.com
  • 2. Uber | Geospatial Situation Detection through FlinkCEP ● Marketplace ● Observability Problem ● Large-Scale Clustering ● Situation Detection through Pattern Matching ● Tips, Tricks and Lessons Learned Outline
  • 3. Uber | Geospatial Situation Detection through FlinkCEP Marketplace ● Modeling the physical world ● Global Logistics Network ● Real-Time Decision Engine
  • 4. Uber | Geospatial Situation Detection through FlinkCEP Marketplace Dynamic Pricing Forecasting Driver Positioning Intelligent Dispatch Marketplace Health Marketplace Platform & Data Fares Driver / Rider Pricing
  • 5. Uber | Geospatial Situation Detection through FlinkCEP Photo: Jessica Christian / The Chronicle Observability Problem
  • 6. Uber | Geospatial Situation Detection through FlinkCEP Source: Giphy [https://giphy.com/gifs/FmNXeuoadNTpe] Scaling Observability ● 700+ Cities ● Local Heterogeneity ● Space and Time Dimensions ● Real-Time Constraints
  • 7. Uber | Geospatial Situation Detection through FlinkCEP Problem EDGE ZOOM IN PATTERN MATCH OBSERVER
  • 8. Uber | Geospatial Situation Detection through FlinkCEP Detecting the Region ● Similar Characteristics ● Connected Region ● Arbitrary Shape ● Cheap in Computation
  • 9. Uber | Geospatial Situation Detection through FlinkCEP Detecting the Region through clustering ● K-means ? ● Density-based clustering ?
  • 10. Uber | Geospatial Situation Detection through FlinkCEP Density-based Spatial Clustering with Noise ● Epsilon Ball Rule ● Worst Case ○ O(n²) ! ○ O(n log n) (auxiliary data structure)
  • 11. Uber | Geospatial Situation Detection through FlinkCEP How can we do better ?
  • 12. Uber | Geospatial Situation Detection through FlinkCEP H3 : Hexagonify the World ! https://h3geo.org/#/
  • 13. Uber | Geospatial Situation Detection through FlinkCEP Credited to Nick Rabinowitz
  • 14. Uber | Geospatial Situation Detection through FlinkCEP Credited to Nick Rabinowitz Uniform Adjacency
  • 15. Uber | Geospatial Situation Detection through FlinkCEP Credited to Nick Rabinowitz DBSCAN in Hexagons
  • 16. Uber | Geospatial Situation Detection through FlinkCEP Data SIO, NOAA, U.S. Navy, NGA, GEBCO, Image Landsat / Copernicus Image IBCAO Credited to Nick Rabinowitz
  • 17. Uber | Geospatial Situation Detection through FlinkCEP Junior, M.R., Souza, B.J., & Endler, M. (2019). DG2CEP: a near real-time on-line algorithm for detecting spatial clusters large data streams through complex event processing. Journal of Internet Services and Applications, 10, 1-28. Low-Latency Clustering on Streams
  • 18. Uber | Geospatial Situation Detection through FlinkCEP Low-Latency Clustering on Streams
  • 19. Uber | Geospatial Situation Detection through FlinkCEP Clustering on streaming data ● Create ● Update ● Merge (expensive!)
  • 20. Uber | Geospatial Situation Detection through FlinkCEP Clustering on streaming data ● Disperse ● Split (expensive!)
  • 21. Uber | Geospatial Situation Detection through FlinkCEP Static clusters are not good enough to capture marketplace dynamics
  • 22. Uber | Geospatial Situation Detection through FlinkCEP Situation CLUSTERS IN MOTION t1 t2 t3
  • 23. Uber | Geospatial Situation Detection through FlinkCEP Complex Event Processing
  • 24. Uber | Geospatial Situation Detection through FlinkCEP CEP : Cluster as Primitive Overlap / Expand Overlap / Shrink S1 Time S2
  • 25. Uber | Geospatial Situation Detection through FlinkCEP Time S+ followed by S CEP : Situation as Primitive
  • 26. Uber | Geospatial Situation Detection through FlinkCEP Human in the loop
  • 27. Uber | Geospatial Situation Detection through FlinkCEP Dynamic Rule Configuration
  • 28. Uber | Geospatial Situation Detection through FlinkCEP Tips, Tricks and Lessons learned
  • 29. Uber | Geospatial Situation Detection through FlinkCEP Staggering Window ● Thundering Herd Workload ● Low utilization of compute resource ● Massive Fan-Out
  • 30. Uber | Geospatial Situation Detection through FlinkCEP Staggering Window FLINK-12855
  • 31. Uber | Geospatial Situation Detection through FlinkCEP Staggering Window FLINK-12855
  • 32. Uber | Geospatial Situation Detection through FlinkCEP Continuous Learning on Streams ● Non-Stationarity ! ● Overfitting to the Noise ● Combine Offline/Online Models
  • 33. Uber | Geospatial Situation Detection through FlinkCEP Thank you ! niel.hu@uber.com https://www.linkedin.com/in/tenghu/
  • 34. Uber | Geospatial Situation Detection through FlinkCEP Appendix
  • 35. Uber | Geospatial Situation Detection through FlinkCEP Observe, Orient, Decide, Act