iot realized connected carfiles.meetup.com/10751222/pivotal connected car demo.pdf · spring xd...

71
IoT REALIZED CONNECTED CAR Ian Huston Senior Data Scientist @ianhuston

Upload: others

Post on 24-Jun-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

IoT REALIZED CONNECTED CAR Ian Huston Senior Data Scientist @ianhuston

Page 2: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

https://github.com/pivotal/IoT-ConnectedCar

Page 3: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

B A C K T O T H E BEGINNING

Page 4: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

REALLY COOL IoT PROJECT

Page 5: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

COVERED BY AN

NDA

Page 6: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 7: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

CONNECTED

CAR

Page 8: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

PIECES ARE THE

SAME

Page 9: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

P R E D I C T T H E DESTINATION

Page 10: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

PREDICT THE RANGE

Page 11: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 12: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

TCP SOCKET OVER

BLUETOOTH HTTP POST

OVER CELLULAR

Page 13: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 14: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

HOW DOES THIS

WORK?

Page 15: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

START IN THE

CAR

Page 16: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

ON BOARD DIAGNOSTICS

OBD II

Page 17: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

PHONE PROVIDES CONNECTIVITY

127.0.0.1:9000

Page 18: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

{ ! "vehicle_speed":103, ! "obd_standards":2, ! "intake_manifold_pressure":"", ! "accelerator_throttle_pos_e":14, ! "engine_load":89, ! "maf_airflow":33, ! "latitude":"32.897554", ! "vin":"1HGCM82633A004352", ! "bearing":"343.922580", ! "catalyst_temp":779, ! "relative_throttle_pos":12, ! "fuel_level_input":89, ! "fuel_system_status":[2,0], ! "accelerator_throttle_pos_d":29, ! "acceleration":"0.953", ! "throttle_position":21, ! "barometric_pressure":97, ! "control_module_voltage":13, ! "longitude":"-96.810236", ! "distance_with_mil_on":0, ! "coolant_temp":94, ! "intake_air_temp":34, ! "rpm":1593, ! "short_term_fuel":-2, ! "time_since_engine_start":4054, ! "absolute_throttle_pos_b":38, ! "long_term_fuel":3 !} !

Page 19: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Pivotal λ-Architecture

Spring XD

Pivotal HD

Pivotal GemFire

Speed Layer Serving Layer

Batch Layer

Pivotal CF ®

Page 20: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 21: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

What is Cloud Foundry? http://cloudfoundry.org

Open Source

Multi-Cloud Platform

Simple App Deployment, Scaling & Availability

Page 22: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Cloud Applications Haiku Here is my source code Run it on the cloud for me I do not care how.

-  Onsi Fakhouri @onsijoe

Page 23: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Same applications running across different cloud providers

Private Public Hosted

Multi-Cloud

Page 24: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Pivotal Cloud Foundry for Open Cloud Computing

Page 25: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

$ cf push

Page 26: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Pivotal λ-Architecture

Spring XD

Pivotal HD

Pivotal GemFire

Speed Layer Serving Layer

Batch Layer

Pivotal CF ®

Page 27: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

O N T H E SERVER

Page 28: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

SPRING XD EXTREME DATA

Page 29: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and data export. o  Data Ingestion and Pipeline Processing

o  Kafka, RabbitMQ, MQTT, JMS, HTTP, GPDB, HAWQ

o  Partition, Filter, Transform, Split, Aggregate

o  Real Time Analytics and Complex Event Processing o  Spark Streaming, RxJava, JPMML Scoring

o  Redis, GemFire, Cassandra, etc..

o  Rapid Dashboarding

o  Batch Workflow Orchestration + ETL o  Map Reduce, HDFS, PIG, Hive, GPDB, HAWQ, Spark

o  RDBMS, FILE, FTP, Log, Mongo, Splunk Spring XD

Page 30: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

SPRING

Ingestion

Orchestration

Extraction

Real-time Analytics

Page 31: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

D I S T R I B U T E D RUNTIME

Page 32: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

STREAMING BATCH &

Page 33: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 34: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

http | filter | acmeenrich | shell | hdfs!

// Ingestion Stream Definitions !

Page 35: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

IoT-HTTP.shell > typeconversiontransformer | !gemfire-server !

// Tap Definitions !

Page 36: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

job create pi --definition "sparkapp --name=PI \ ! --master=local[8] \ ! --appJar=path/lib/spark-examples-1.4.0-hadoop2.6.0.jar \ ! --mainClass=org.apache.spark.examples.SparkPi \ ! --programArgs=100" –deploy !!job launch pi !

// Spark Example Job !

Page 37: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

TCP SOCKET OVER

BLUETOOTH HTTP POST

OVER CELLULAR

Page 38: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Spring XD

HTTP transformers hdfs

gemfire tap

python

hdfs

GemFire

REST API

PySpark

Page 39: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Spring XD

HTTP transformers hdfs

gemfire tap

python

hdfs

GemFire

REST API

PySpark

Page 40: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Pivotal λ-Architecture

Spring XD

Pivotal HD

Pivotal GemFire

Speed Layer Serving Layer

Batch Layer

Pivotal CF ®

Page 41: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

PivotalBig Data Suite

Advanced Analytics

Pivotal HAWQ

Pivotal Greenplum Database

Pivotal GemFire

RabbitMQ

Redis

Apps at ScaleData Processing

Big Data Suite Services on Pivotal Cloud Foundry

Spring XD

Spark

Pivotal HD

Pivotal Big Data Suite

Pivotal HAWQ RabbitMQRedisSpring XD Pivotal HD

Page 42: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Pivotal HD

Spring XD

Realtime Evaluation Batch Training

Data Persistence

Page 43: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 44: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

REALTIME DATA SCIENCE

Page 45: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

1 PREDICT JOURNEY

Page 46: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

HOW DOES I T

WORK?

Page 47: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

STORE SENSOR

DATA

Page 48: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

R E C O R D E D

JOURNEYS

Page 49: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

OFFLINE BATCH TRAINING

Page 50: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

J O U R N E Y CLUSTERS

Page 51: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

INITIAL PREDICTION

Page 52: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

DRIVING HOME TO WORK

Page 53: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

DRIVING WORK TO HOME

Page 54: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

ONLINE PREDICTION

Page 55: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

2 PREDICT RANGE

Page 56: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

… !"Predictions": { ! "ClusterPredictions": { ! "0": { ! "EndLocation": [ ! 32.98525175453122, ! -96.70940837440399 ! ], ! "MPG_Journey": 25.60900810315203, ! "Probability": 0.63736 ! }, !… !

Page 57: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

HORIZONTAL SCALABILITY

Page 58: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

100,000’s OF CLIENTS

Page 59: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

MILLIONS OF MESSAGES

Page 60: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

PER MINUTE OVER

100 GB

Page 61: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

IoT

ISSUES

Page 62: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

COMPATIBILITY

Page 63: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

CONNECTIVITY

Page 64: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

SECURITY

Page 65: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

LOOKING INTO THE

FUTURE

Page 66: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

A D D I T I O N A L USE CASES

Page 67: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

F L E E T MANAGEMENT

Page 68: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

P R E D I C T I V E MAINTENANCE

Page 69: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

A C C I D E N T ASSISTANCE

Page 70: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time
Page 71: IoT REALIZED CONNECTED CARfiles.meetup.com/10751222/Pivotal Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time

Ian Huston @ianhuston Michael Natusch @cumulyst