IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible...

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

Transcript of IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible...

Page 1: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

IoT REALIZED CONNECTED CAR Ian Huston Senior Data Scientist @ianhuston

Page 2: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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

Page 3: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

B A C K T O T H E BEGINNING

Page 4: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

REALLY COOL IoT PROJECT

Page 5: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

COVERED BY AN

NDA

Page 6: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 7: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

CONNECTED

CAR

Page 8: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

PIECES ARE THE

SAME

Page 9: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

P R E D I C T T H E DESTINATION

Page 10: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

PREDICT THE RANGE

Page 11: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 12: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

TCP SOCKET OVER

BLUETOOTH HTTP POST

OVER CELLULAR

Page 13: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 14: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

HOW DOES THIS

WORK?

Page 15: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

START IN THE

CAR

Page 16: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

ON BOARD DIAGNOSTICS

OBD II

Page 17: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

PHONE PROVIDES CONNECTIVITY

127.0.0.1:9000

Page 18: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

{ ! "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 CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Pivotal λ-Architecture

Spring XD

Pivotal HD

Pivotal GemFire

Speed Layer Serving Layer

Batch Layer

Pivotal CF ®

Page 20: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 21: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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

Open Source

Multi-Cloud Platform

Simple App Deployment, Scaling & Availability

Page 22: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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 CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Same applications running across different cloud providers

Private Public Hosted

Multi-Cloud

Page 24: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Pivotal Cloud Foundry for Open Cloud Computing

Page 25: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

$ cf push

Page 26: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Pivotal λ-Architecture

Spring XD

Pivotal HD

Pivotal GemFire

Speed Layer Serving Layer

Batch Layer

Pivotal CF ®

Page 27: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

O N T H E SERVER

Page 28: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

SPRING XD EXTREME DATA

Page 29: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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 CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

SPRING

Ingestion

Orchestration

Extraction

Real-time Analytics

Page 31: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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

Page 32: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

STREAMING BATCH &

Page 33: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 34: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

http | filter | acmeenrich | shell | hdfs!

// Ingestion Stream Definitions !

Page 35: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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

// Tap Definitions !

Page 36: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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 CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

TCP SOCKET OVER

BLUETOOTH HTTP POST

OVER CELLULAR

Page 38: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Spring XD

HTTP transformers hdfs

gemfire tap

python

hdfs

GemFire

REST API

PySpark

Page 39: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Spring XD

HTTP transformers hdfs

gemfire tap

python

hdfs

GemFire

REST API

PySpark

Page 40: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Pivotal λ-Architecture

Spring XD

Pivotal HD

Pivotal GemFire

Speed Layer Serving Layer

Batch Layer

Pivotal CF ®

Page 41: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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 CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Pivotal HD

Spring XD

Realtime Evaluation Batch Training

Data Persistence

Page 43: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 44: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

REALTIME DATA SCIENCE

Page 45: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

1 PREDICT JOURNEY

Page 46: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

HOW DOES I T

WORK?

Page 47: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

STORE SENSOR

DATA

Page 48: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

R E C O R D E D

JOURNEYS

Page 49: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

OFFLINE BATCH TRAINING

Page 50: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

J O U R N E Y CLUSTERS

Page 51: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

INITIAL PREDICTION

Page 52: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

DRIVING HOME TO WORK

Page 53: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

DRIVING WORK TO HOME

Page 54: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

ONLINE PREDICTION

Page 55: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

2 PREDICT RANGE

Page 56: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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

Page 57: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

HORIZONTAL SCALABILITY

Page 58: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

100,000’s OF CLIENTS

Page 59: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

MILLIONS OF MESSAGES

Page 60: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

PER MINUTE OVER

100 GB

Page 61: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

IoT

ISSUES

Page 62: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

COMPATIBILITY

Page 63: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

CONNECTIVITY

Page 64: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

SECURITY

Page 65: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

LOOKING INTO THE

FUTURE

Page 66: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

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

Page 67: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

F L E E T MANAGEMENT

Page 68: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

P R E D I C T I V E MAINTENANCE

Page 69: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

A C C I D E N T ASSISTANCE

Page 70: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and
Page 71: IoT REALIZED CONNECTED CAR Connected Car Demo.pdf · Spring XD Unified, distributed, and extensible open-source system for data ingestion, real time analytics, batch processing, and

Ian Huston @ianhuston Michael Natusch @cumulyst