SlideShare a Scribd company logo
1 of 45
Download to read offline
Self-Service IoT Data Analytics with
StreamPipes
Dominik Riemer, Philipp Zehnder, Patrick Wiener
ApacheCon North America, Las Vegas, 2019-09-10
www.streampipes.org | @streampipes | github.com/streampipes
2
What's StreamPipes?
"A self-service IoT toolbox to enable non-technical users to connect,
explore and analyze IoT data streams"
www.streampipes.org | @streampipes | github.com/streampipes
3
What's StreamPipes?
Big Data / Edge
InfrastructureExecute
Reusable
algorithm toolbox
Install
Model pipelines
www.streampipes.org | @streampipes | github.com/streampipes
About us
4
Dominik Riemer
Senior Research Scientist
Philipp Zehnder
Research Scientist
Patrick Wiener
Research Scientist
FZI Research Center for Information Technology, Karlsruhe, Germany
Stream Processing, Data Management, Machine Learning
Non-profit research center for applied ICT research (250 employees)
Started StreamPipes in 2014, first OSS release 2018
www.streampipes.org | @streampipes | github.com/streampipes
Agenda
The need for self-service IoT data analytics
Demo
1
StreamPipes: Technical Overview
Demo
2
Use Cases3
Getting Started & Roadmap4
The need for self-service IoT data analytics
1
www.streampipes.org | @streampipes | github.com/streampipes
Conveyor Belts
Pressure
Oil temperature
Dust particles
Production plans
Environmental Data
Gear box drive
Energy consumption
Telematics
Industrial Internet of Things
Data streams everywhere
Continuous Monitoring Situational Awareness
Continuous Data
Harmonization
Flexible data integration
from heterogeneous
sources and monitoring
of current system states
Detect time-critical
situations, e.g., by
means of rules or ML
approaches
Continuous pre-
processing and
transformation of input
streams for third party
systems
Industrial Internet of Things
Typical application scenarios
www.streampipes.org | @streampipes | github.com/streampipes
From machine to analysis
Open Source IoT projects: Great software stack to ease IIoT use cases
XX
Data Routing & Transformation
9
www.streampipes.org | @streampipes | github.com/streampipes
From machine to analysis
Open Source IoT projects: Positioning of StreamPipes
XX
Data Routing & Transformation
10
www.streampipes.org | @streampipes | github.com/streampipes
StreamPipes
Open Source framework to easily manage IoT data
Data Access
Data analytics &
harmonization
Data exploration &
exploitation
Generic adapters
Specific adapters
Metadata
Data streams & sets
Pre-processing
Filter/Aggregation
Pattern Detection
ML
Situation detection
Harmonized data sets
Visualizations
Third-party systems
11
Demo
First introduction to StreamPipes, Condition monitoring
Rule-based monitoring of flow rate measurements in a multi tank system
Demo
First introduction to StreamPipes, Condition monitoring
Rule-based monitoring of flow rate measurements in a multi tank system
Flow
Sensor
Aggregate
Measurements
Detect
Leakage
Visualize
Notify
Demo
Advanced analytics & image processing
Offer drinks to drowsy customers in a Las Vegas casino
Demo
Advanced analytics & image processing
Offer drinks to drowsy customers in a Las Vegas casino
Camera
Sensor
Detect Faces
Detect
Drowsiness
Extract Faces Notify
www.streampipes.org | @streampipes | github.com/streampipes
IoT landscape
Comparison to other flow-based tools
More focused on dev people
JS runtime
Data pre-processing / ETL
16
Technical Overview
17
3
www.streampipes.org | @streampipes | github.com/streampipes
High-level architecture
Analytics Microservices
Data Integration
Data Sources
Adapter Library
Pipeline Editor
Streaming Engine
18
www.streampipes.org | @streampipes | github.com/streampipes
High-level architecture
Analytics Microservices
Data Integration
Data Sources
Adapter Library
Pipeline Editor
Streaming Engine
19
Data Access
StreamPipes Connect: Easily connect IoT sources
www.streampipes.org | @streampipes | github.com/streampipes
Data Access
StreamPipes Connect: Easily connect IoT sources
• Easily connect data streams
and data sets (sensor + image
data)
• Generic adapters for frequently
used protocols (e.g., REST,
MQTT, OPC-UA, ROS) and
formats (e.g., JSON, XML)
• Semantic metadata (used for
pipeline verification)
• Automatic schema recognition
Features
21
Demo
Connect & harmonize data with StreamPipes Connect
Building a harmonized data lake
Demo
Connect & harmonize data with StreamPipes Connect
Building a harmonized data lake
MQTT Flow
Sensor
IoTDB
StreamPipes Connect
www.streampipes.org | @streampipes | github.com/streampipes
Data Access
Machine-interpretable metadata
100
011
010
001
010
010
100
101
000
111
data stream
{ 
"tstamp": 1453478160,
"machineId": "ID5",
"temperature": 73.5,
"flowRate": 4.2
}
Semantic
metadata
Data type, runtime name,
semantic type
Frequency, latency,
measurement unit
Format, Protocol
Schema
Quality
Grounding
24
www.streampipes.org | @streampipes | github.com/streampipes
Data Access
Machine-interpretable metadata
Example
temperature
schema.org/temperature
schema.org/degreeCelsius
xsd:float
[0,80]
100
011
010
001
010
010
100
101
000
111
data stream
{ 
"tstamp": 1453478160,
"machineId": "ID5",
"temperature": 73.5,
"flowRate": 4.2
}
Semantic
metadata
25
www.streampipes.org | @streampipes | github.com/streampipes
Data Access
StreamPipes Connect: Architecture
Connect Master
Connect Worker 1 Connect Worker 2 Connect Worker n
MySQL
RESTROS
OPC-UAFile
MQTT
Messaging
Edge Worker Cloud Worker
…
register
capabilities
26
www.streampipes.org | @streampipes | github.com/streampipes
High-level architecture
Analytics Microservices
Data Sources
Adapter Library
Pipeline Editor
Data Integration
Streaming Engine
27
Analytics microservices
Extensible toolbox
www.streampipes.org | @streampipes | github.com/streampipes
• Extensible toolbox for pre-
processing & analytics
• Stateful/stateless
• Semantics-based
consistency checking
• Exchangable run-time
wrappers
• Inclusion of ML-models
possible
Features
Analytics microservices
Extensible toolbox
29
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
Anatomy of a processing element
Trend Detection
Controller
output eventsinput events
Runtime
30
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
How to implement a new processing element
Select Wrapper
Implement
runtime
Describe
controller
Build / Install
Maven
Archetype
StreamPipes
SDK
StreamPipes
SDK
SDK, Docker,
UI
Trend Detection
Controller
Runtime
31
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
Runtime Wrapper
Standalone/Edge
Wrapper
Flink Wrapper
Kafka Streams
Wrapper
Python Wrapper
Select
Wrapper
Implement
runtime
Describe
controller
Build /
Install
Trend Detection
Controller
output eventsinput events
Runtime
32
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
SDK: Runtime @Override
public void onInvocation (TrendParameters params, 
EventProcessorRuntimeContext runtimeContext) {
this.params = params;
this.trendDetector = new TrendDetector(params.getIncrease(), 
params.getDuration());
}
@Override
public void onEvent(Event event, SpOutputCollector out) {
boolean trendDetected =
this.trendDetector.detect(event.get(this.params.getField());
if (trendDetected) {
out.collect(event);
}
}
@Override
public void onDetach() {
// clean up
}
Select
Wrapper
Implement
runtime
Describe
controller
Build /
Install
Trend Detection
Controller
Runtime
33
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
Processing Element Description
User Configuration Output StrategyInput Requirements
Schema, Quality, Protocol,
Format
Text Input, Selections, Domain
Knowledge, …
Keep, Custom, Transform,
Append, …
Semantic Metadata
Select
Wrapper
Implement
runtime
Describe
controller
Build /
Install
Trend Detection
Controller
Runtime
34
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
Development: Maven Archetypes & SDK
@Override
public DataProcessorDescription declareModel() {
return
ProcessingElementBuilder.create("org.streampipes.processors.flink.increase")
.withLocales(Locales.EN)
.category(DataProcessorType.PATTERN_DETECT)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.requiredStream(StreamRequirementsBuilder.create()
.requiredPropertyWithUnaryMapping(EpRequirements.numberReq(), 
Labels.withId(Mapping), 
PropertyScope.MEASUREMENT_PROPERTY)
.build())
.requiredSingleValueSelection(Labels.withId(Operation),
Options.from("Increase", "Decrease"))
.requiredIntegerParameter(Labels.withId(Increase), 0, 500, 1)
.requiredIntegerParameter(Labels.withId(Duration))
.outputStrategy(OutputStrategies.custom())
.build();
}
Select
Wrapper
Implement
runtime
Describe
controller
Build /
Install
Trend Detection
Controller
Runtime
35
Analytics microservices
Configuration
User
Configuration
Output
Strategy
Input
Requirements
Select
Wrapper
Implement
runtime
Describe
controller
Build /
Install
Controller
Runtime
Trend Detection
36
www.streampipes.org | @streampipes | github.com/streampipes
Analytics microservices
Installation
Pipeline
Management
register
description
trigger
invocation
Select
Wrapper
Implement
runtime
Describe
controller
Build /
Install
Trend Detection
Controller
output eventsinput events
Runtime
37
Use Cases
38
4
Universal Robots + StreamPipes
Data Exploration & Predictive Maintenance
Monitor health status of UR robot in a production line
Continuously track robot sensor data (ROS) and detect deviations
Test Area Autonomous Driving + StreamPipes
Control Center Monitoring
Analyze sensor data in a German test area for autonomous driving (> 120 mi)
Enable control center staff to quickly detect potential issues
Getting Started & Roadmap
41
4
www.streampipes.org | @streampipes | github.com/streampipes
How to start
Setting up StreamPipes
Docker-based installation
streampipes.org/en/download
Download installer from Github1
./streampipes start2
Finish installation in browser3
42
www.streampipes.org | @streampipes | github.com/streampipes
43
What's next?
Data Access
Data analytics &
harmonization
Data exploration &
exploitation
PLC4x adapter
Metadata recognition
Python wrapper
AutoML
Historical Data
Explorer
New features: Current work-in-progress
Infrastructure (Edge / Fog)
www.streampipes.org | @streampipes | github.com/streampipes
44
What we're looking for
…grow the user
base
…establish a
community
…become an
Apache project
Your help/experience is appreciated!
How to…
Let's connect!
…and if you like StreamPipes, star us on Github 
streampipes.org
docs.streampipes.org
github.com/streampipes/streampipes
twitter.com/streampipes
feedback@streampipes.org

More Related Content

What's hot

Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionJohn Archer
 
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
Best Practices for Streaming IoT Data with MQTT and Apache KafkaBest Practices for Streaming IoT Data with MQTT and Apache Kafka
Best Practices for Streaming IoT Data with MQTT and Apache KafkaKai Wähner
 
Principles of Monitoring Microservices
Principles of Monitoring MicroservicesPrinciples of Monitoring Microservices
Principles of Monitoring MicroservicesMichael Ducy
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?confluent
 
Apples and Oranges - Comparing Kafka Streams and Flink with Bill Bejeck
Apples and Oranges - Comparing Kafka Streams and Flink with Bill BejeckApples and Oranges - Comparing Kafka Streams and Flink with Bill Bejeck
Apples and Oranges - Comparing Kafka Streams and Flink with Bill BejeckHostedbyConfluent
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka confluent
 
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward
 
Caterpillar: A Blockchain-Based Business Proces Management System
Caterpillar: A Blockchain-Based Business Proces Management SystemCaterpillar: A Blockchain-Based Business Proces Management System
Caterpillar: A Blockchain-Based Business Proces Management SystemMarlon Dumas
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns WSO2
 
Apache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink MeetupApache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink MeetupStephan Ewen
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 

What's hot (20)

Devops | CICD Pipeline
Devops | CICD PipelineDevops | CICD Pipeline
Devops | CICD Pipeline
 
Introduction to Apache Beam
Introduction to Apache BeamIntroduction to Apache Beam
Introduction to Apache Beam
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafka
 
AWS Manufacturing.pdf
AWS Manufacturing.pdfAWS Manufacturing.pdf
AWS Manufacturing.pdf
 
RabbitMQ & Kafka
RabbitMQ & KafkaRabbitMQ & Kafka
RabbitMQ & Kafka
 
Rethinking Cloud Proxies
Rethinking Cloud ProxiesRethinking Cloud Proxies
Rethinking Cloud Proxies
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
 
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
Best Practices for Streaming IoT Data with MQTT and Apache KafkaBest Practices for Streaming IoT Data with MQTT and Apache Kafka
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
 
Principles of Monitoring Microservices
Principles of Monitoring MicroservicesPrinciples of Monitoring Microservices
Principles of Monitoring Microservices
 
Real-Time Streaming Data on AWS
Real-Time Streaming Data on AWSReal-Time Streaming Data on AWS
Real-Time Streaming Data on AWS
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?
 
Apples and Oranges - Comparing Kafka Streams and Flink with Bill Bejeck
Apples and Oranges - Comparing Kafka Streams and Flink with Bill BejeckApples and Oranges - Comparing Kafka Streams and Flink with Bill Bejeck
Apples and Oranges - Comparing Kafka Streams and Flink with Bill Bejeck
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka
 
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
 
Caterpillar: A Blockchain-Based Business Proces Management System
Caterpillar: A Blockchain-Based Business Proces Management SystemCaterpillar: A Blockchain-Based Business Proces Management System
Caterpillar: A Blockchain-Based Business Proces Management System
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns
 
Apache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink MeetupApache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink Meetup
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 

Similar to Self-Service IoT Data Analytics with StreamPipes

Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...Flink Forward
 
Flink for Everyone: Self-Service Data Analytics with StreamPipes
Flink for Everyone: Self-Service Data Analytics with StreamPipesFlink for Everyone: Self-Service Data Analytics with StreamPipes
Flink for Everyone: Self-Service Data Analytics with StreamPipesApache StreamPipes
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 
Oracle Stream Analytics - Simplifying Stream Processing
Oracle Stream Analytics - Simplifying Stream ProcessingOracle Stream Analytics - Simplifying Stream Processing
Oracle Stream Analytics - Simplifying Stream ProcessingGuido Schmutz
 
A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...
A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...
A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...Databricks
 
Combining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityCombining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityElasticsearch
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 
Real-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQLReal-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQLSingleStore
 
ELK Solutions Enablement Session - 17th March'2020
ELK Solutions Enablement Session - 17th March'2020ELK Solutions Enablement Session - 17th March'2020
ELK Solutions Enablement Session - 17th March'2020Ashnikbiz
 
Time's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data NowTime's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data NowEric Kavanagh
 
Data Ingestion in Big Data and IoT platforms
Data Ingestion in Big Data and IoT platformsData Ingestion in Big Data and IoT platforms
Data Ingestion in Big Data and IoT platformsGuido Schmutz
 
Stream Processing – Concepts and Frameworks
Stream Processing – Concepts and FrameworksStream Processing – Concepts and Frameworks
Stream Processing – Concepts and FrameworksGuido Schmutz
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 
Getting started with apache flink streaming api
Getting started with apache flink streaming apiGetting started with apache flink streaming api
Getting started with apache flink streaming apiPreetdeep Kumar
 
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionMLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionBATbern
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream ProcessingGuido Schmutz
 
Von der Zustandsüberwachung zur vorausschauenden Wartung
Von der Zustandsüberwachung zur vorausschauenden WartungVon der Zustandsüberwachung zur vorausschauenden Wartung
Von der Zustandsüberwachung zur vorausschauenden WartungPeter Schleinitz
 
Combining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityCombining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityElasticsearch
 
Les logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiéeLes logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiéeElasticsearch
 

Similar to Self-Service IoT Data Analytics with StreamPipes (20)

Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
 
Flink for Everyone: Self-Service Data Analytics with StreamPipes
Flink for Everyone: Self-Service Data Analytics with StreamPipesFlink for Everyone: Self-Service Data Analytics with StreamPipes
Flink for Everyone: Self-Service Data Analytics with StreamPipes
 
Io t data streaming
Io t data streamingIo t data streaming
Io t data streaming
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 
Oracle Stream Analytics - Simplifying Stream Processing
Oracle Stream Analytics - Simplifying Stream ProcessingOracle Stream Analytics - Simplifying Stream Processing
Oracle Stream Analytics - Simplifying Stream Processing
 
A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...
A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...
A Journey to Building an Autonomous Streaming Data Platform—Scaling to Trilli...
 
Combining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityCombining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified Observability
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 
Real-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQLReal-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQL
 
ELK Solutions Enablement Session - 17th March'2020
ELK Solutions Enablement Session - 17th March'2020ELK Solutions Enablement Session - 17th March'2020
ELK Solutions Enablement Session - 17th March'2020
 
Time's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data NowTime's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data Now
 
Data Ingestion in Big Data and IoT platforms
Data Ingestion in Big Data and IoT platformsData Ingestion in Big Data and IoT platforms
Data Ingestion in Big Data and IoT platforms
 
Stream Processing – Concepts and Frameworks
Stream Processing – Concepts and FrameworksStream Processing – Concepts and Frameworks
Stream Processing – Concepts and Frameworks
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 
Getting started with apache flink streaming api
Getting started with apache flink streaming apiGetting started with apache flink streaming api
Getting started with apache flink streaming api
 
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionMLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Von der Zustandsüberwachung zur vorausschauenden Wartung
Von der Zustandsüberwachung zur vorausschauenden WartungVon der Zustandsüberwachung zur vorausschauenden Wartung
Von der Zustandsüberwachung zur vorausschauenden Wartung
 
Combining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityCombining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified Observability
 
Les logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiéeLes logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiée
 

Recently uploaded

"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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

"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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Self-Service IoT Data Analytics with StreamPipes

  • 1. Self-Service IoT Data Analytics with StreamPipes Dominik Riemer, Philipp Zehnder, Patrick Wiener ApacheCon North America, Las Vegas, 2019-09-10
  • 2. www.streampipes.org | @streampipes | github.com/streampipes 2 What's StreamPipes? "A self-service IoT toolbox to enable non-technical users to connect, explore and analyze IoT data streams"
  • 3. www.streampipes.org | @streampipes | github.com/streampipes 3 What's StreamPipes? Big Data / Edge InfrastructureExecute Reusable algorithm toolbox Install Model pipelines
  • 4. www.streampipes.org | @streampipes | github.com/streampipes About us 4 Dominik Riemer Senior Research Scientist Philipp Zehnder Research Scientist Patrick Wiener Research Scientist FZI Research Center for Information Technology, Karlsruhe, Germany Stream Processing, Data Management, Machine Learning Non-profit research center for applied ICT research (250 employees) Started StreamPipes in 2014, first OSS release 2018
  • 5. www.streampipes.org | @streampipes | github.com/streampipes Agenda The need for self-service IoT data analytics Demo 1 StreamPipes: Technical Overview Demo 2 Use Cases3 Getting Started & Roadmap4
  • 6. The need for self-service IoT data analytics 1
  • 7. www.streampipes.org | @streampipes | github.com/streampipes Conveyor Belts Pressure Oil temperature Dust particles Production plans Environmental Data Gear box drive Energy consumption Telematics Industrial Internet of Things Data streams everywhere
  • 8. Continuous Monitoring Situational Awareness Continuous Data Harmonization Flexible data integration from heterogeneous sources and monitoring of current system states Detect time-critical situations, e.g., by means of rules or ML approaches Continuous pre- processing and transformation of input streams for third party systems Industrial Internet of Things Typical application scenarios
  • 9. www.streampipes.org | @streampipes | github.com/streampipes From machine to analysis Open Source IoT projects: Great software stack to ease IIoT use cases XX Data Routing & Transformation 9
  • 10. www.streampipes.org | @streampipes | github.com/streampipes From machine to analysis Open Source IoT projects: Positioning of StreamPipes XX Data Routing & Transformation 10
  • 11. www.streampipes.org | @streampipes | github.com/streampipes StreamPipes Open Source framework to easily manage IoT data Data Access Data analytics & harmonization Data exploration & exploitation Generic adapters Specific adapters Metadata Data streams & sets Pre-processing Filter/Aggregation Pattern Detection ML Situation detection Harmonized data sets Visualizations Third-party systems 11
  • 12. Demo First introduction to StreamPipes, Condition monitoring Rule-based monitoring of flow rate measurements in a multi tank system
  • 13. Demo First introduction to StreamPipes, Condition monitoring Rule-based monitoring of flow rate measurements in a multi tank system Flow Sensor Aggregate Measurements Detect Leakage Visualize Notify
  • 14. Demo Advanced analytics & image processing Offer drinks to drowsy customers in a Las Vegas casino
  • 15. Demo Advanced analytics & image processing Offer drinks to drowsy customers in a Las Vegas casino Camera Sensor Detect Faces Detect Drowsiness Extract Faces Notify
  • 16. www.streampipes.org | @streampipes | github.com/streampipes IoT landscape Comparison to other flow-based tools More focused on dev people JS runtime Data pre-processing / ETL 16
  • 18. www.streampipes.org | @streampipes | github.com/streampipes High-level architecture Analytics Microservices Data Integration Data Sources Adapter Library Pipeline Editor Streaming Engine 18
  • 19. www.streampipes.org | @streampipes | github.com/streampipes High-level architecture Analytics Microservices Data Integration Data Sources Adapter Library Pipeline Editor Streaming Engine 19
  • 20. Data Access StreamPipes Connect: Easily connect IoT sources
  • 21. www.streampipes.org | @streampipes | github.com/streampipes Data Access StreamPipes Connect: Easily connect IoT sources • Easily connect data streams and data sets (sensor + image data) • Generic adapters for frequently used protocols (e.g., REST, MQTT, OPC-UA, ROS) and formats (e.g., JSON, XML) • Semantic metadata (used for pipeline verification) • Automatic schema recognition Features 21
  • 22. Demo Connect & harmonize data with StreamPipes Connect Building a harmonized data lake
  • 23. Demo Connect & harmonize data with StreamPipes Connect Building a harmonized data lake MQTT Flow Sensor IoTDB StreamPipes Connect
  • 24. www.streampipes.org | @streampipes | github.com/streampipes Data Access Machine-interpretable metadata 100 011 010 001 010 010 100 101 000 111 data stream {  "tstamp": 1453478160, "machineId": "ID5", "temperature": 73.5, "flowRate": 4.2 } Semantic metadata Data type, runtime name, semantic type Frequency, latency, measurement unit Format, Protocol Schema Quality Grounding 24
  • 25. www.streampipes.org | @streampipes | github.com/streampipes Data Access Machine-interpretable metadata Example temperature schema.org/temperature schema.org/degreeCelsius xsd:float [0,80] 100 011 010 001 010 010 100 101 000 111 data stream {  "tstamp": 1453478160, "machineId": "ID5", "temperature": 73.5, "flowRate": 4.2 } Semantic metadata 25
  • 26. www.streampipes.org | @streampipes | github.com/streampipes Data Access StreamPipes Connect: Architecture Connect Master Connect Worker 1 Connect Worker 2 Connect Worker n MySQL RESTROS OPC-UAFile MQTT Messaging Edge Worker Cloud Worker … register capabilities 26
  • 27. www.streampipes.org | @streampipes | github.com/streampipes High-level architecture Analytics Microservices Data Sources Adapter Library Pipeline Editor Data Integration Streaming Engine 27
  • 29. www.streampipes.org | @streampipes | github.com/streampipes • Extensible toolbox for pre- processing & analytics • Stateful/stateless • Semantics-based consistency checking • Exchangable run-time wrappers • Inclusion of ML-models possible Features Analytics microservices Extensible toolbox 29
  • 30. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices Anatomy of a processing element Trend Detection Controller output eventsinput events Runtime 30
  • 31. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices How to implement a new processing element Select Wrapper Implement runtime Describe controller Build / Install Maven Archetype StreamPipes SDK StreamPipes SDK SDK, Docker, UI Trend Detection Controller Runtime 31
  • 32. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices Runtime Wrapper Standalone/Edge Wrapper Flink Wrapper Kafka Streams Wrapper Python Wrapper Select Wrapper Implement runtime Describe controller Build / Install Trend Detection Controller output eventsinput events Runtime 32
  • 33. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices SDK: Runtime @Override public void onInvocation (TrendParameters params,  EventProcessorRuntimeContext runtimeContext) { this.params = params; this.trendDetector = new TrendDetector(params.getIncrease(),  params.getDuration()); } @Override public void onEvent(Event event, SpOutputCollector out) { boolean trendDetected = this.trendDetector.detect(event.get(this.params.getField()); if (trendDetected) { out.collect(event); } } @Override public void onDetach() { // clean up } Select Wrapper Implement runtime Describe controller Build / Install Trend Detection Controller Runtime 33
  • 34. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices Processing Element Description User Configuration Output StrategyInput Requirements Schema, Quality, Protocol, Format Text Input, Selections, Domain Knowledge, … Keep, Custom, Transform, Append, … Semantic Metadata Select Wrapper Implement runtime Describe controller Build / Install Trend Detection Controller Runtime 34
  • 35. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices Development: Maven Archetypes & SDK @Override public DataProcessorDescription declareModel() { return ProcessingElementBuilder.create("org.streampipes.processors.flink.increase") .withLocales(Locales.EN) .category(DataProcessorType.PATTERN_DETECT) .withAssets(Assets.DOCUMENTATION, Assets.ICON) .requiredStream(StreamRequirementsBuilder.create() .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),  Labels.withId(Mapping),  PropertyScope.MEASUREMENT_PROPERTY) .build()) .requiredSingleValueSelection(Labels.withId(Operation), Options.from("Increase", "Decrease")) .requiredIntegerParameter(Labels.withId(Increase), 0, 500, 1) .requiredIntegerParameter(Labels.withId(Duration)) .outputStrategy(OutputStrategies.custom()) .build(); } Select Wrapper Implement runtime Describe controller Build / Install Trend Detection Controller Runtime 35
  • 37. www.streampipes.org | @streampipes | github.com/streampipes Analytics microservices Installation Pipeline Management register description trigger invocation Select Wrapper Implement runtime Describe controller Build / Install Trend Detection Controller output eventsinput events Runtime 37
  • 39. Universal Robots + StreamPipes Data Exploration & Predictive Maintenance Monitor health status of UR robot in a production line Continuously track robot sensor data (ROS) and detect deviations
  • 40. Test Area Autonomous Driving + StreamPipes Control Center Monitoring Analyze sensor data in a German test area for autonomous driving (> 120 mi) Enable control center staff to quickly detect potential issues
  • 41. Getting Started & Roadmap 41 4
  • 42. www.streampipes.org | @streampipes | github.com/streampipes How to start Setting up StreamPipes Docker-based installation streampipes.org/en/download Download installer from Github1 ./streampipes start2 Finish installation in browser3 42
  • 43. www.streampipes.org | @streampipes | github.com/streampipes 43 What's next? Data Access Data analytics & harmonization Data exploration & exploitation PLC4x adapter Metadata recognition Python wrapper AutoML Historical Data Explorer New features: Current work-in-progress Infrastructure (Edge / Fog)
  • 44. www.streampipes.org | @streampipes | github.com/streampipes 44 What we're looking for …grow the user base …establish a community …become an Apache project Your help/experience is appreciated! How to…
  • 45. Let's connect! …and if you like StreamPipes, star us on Github  streampipes.org docs.streampipes.org github.com/streampipes/streampipes twitter.com/streampipes feedback@streampipes.org