SlideShare a Scribd company logo
1 of 35
Download to read offline
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 DaySafe 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
 
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 INTRODUCTIONAkshat 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 GISGreg 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 XIIYu Huang
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine LearningJames 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 1NanubalaDhruvan
 
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 AnalysisSingleStore
 
mzyautonavigationsystem.pptx
mzyautonavigationsystem.pptxmzyautonavigationsystem.pptx
mzyautonavigationsystem.pptxmzy201030
 
Putting Your Data on a Map
Putting Your Data on a MapPutting Your Data on a Map
Putting Your Data on a MapShawn 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 MobilityAlessandro 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 CongressAaron Antrim
 
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 IEEEAsad 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 Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine Learning
 
Koober Preduction IO Presentation
Koober Preduction IO PresentationKoober Preduction IO Presentation
Koober Preduction IO Presentation
 
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 FlinkFlink 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 OperatorFlink Forward
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeFlink 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 SinkFlink 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.pptxFlink 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 PinterestFlink 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 EraFlink 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 FlinkFlink 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 DeploymentFlink 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 2022Flink Forward
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink 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 AlertsFlink 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 PinotFlink 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 ServicesFlink 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 & IcebergFlink 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

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

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