SlideShare a Scribd company logo
BASEL | BERN | BRUGG | BUCHAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENEVA
HAMBURG | COPENHAGEN | LAUSANNE | MANNHEIM | MUNICH | STUTTGART | VIENNA | ZURICH
http://guidoschmutz.wordpress.com@gschmutz
Streaming Visualization
JavaZone Oslo 2019
Guido Schmutz
Guido Schmutz
Working at Trivadis for more than 22 years
Consultant, Trainer Software Architect for Java, Oracle, SOA and Big Data / Fast Data
Oracle Groundbreaker Ambassador & Oracle ACE Director
Head of Trivadis Architecture Board
Technology Manager @ Trivadis
More than 30 years of software development experience
Contact: guido.schmutz@trivadis.com
Blog: http://guidoschmutz.wordpress.com
Slideshare: http://www.slideshare.net/gschmutz
Twitter: gschmutz
167th edition
Agenda
1. Motivation / Introduction
2. Stream Data Integration & Stream Analytics Ecosystem
3. Three Blueprints for Streaming Visualization
End-to-End Demo available here:
https://github.com/gschmutz/various-demos/tree/master/streaming-visualization
Motivation / Introduction
Timely decisions require new data in minutes
Keep the data in motion …
Data at Rest Data in Motion
Store
(Re)Act
Visualize/
Analyze
StoreAct
Analyze
11101
01010
10110
11101
01010
10110
vs.
Visualize
Hadoop Clusterd
Hadoop Cluster
Big Data
Reference Architecture for Data Analytics Solutions
SQL
Search
Service
BI Tools
Enterprise Data
Warehouse
Search / Explore
File Import / SQL Import
Event
Hub
D
ata
Flow
D
ata
Flow
Change DataCapture Parallel
Processing
Storage
Storage
RawRefined
Results
SQL
Export
Microservice State
{ }
API
Stream
Processor
State
{ }
API
Event
Stream
Event
Stream
Search
Service
Stream Analytics
Microservices
Enterprise Apps
Logic
{ }
API
Edge Node
Rules
Event Hub
Storage
Bulk Source
Event Source
Location
DB
Extract
File
DB
IoT
Data
Mobile
Apps
Social
Event Stream
Telemetry
Two Types of Stream Processing
(by Gartner)
Stream Data Integration
• focuses on the ingestion and processing of
data sources targeting real-time extract-
transform-load (ETL) and data integration
use cases
• filter and enrich the data
Stream Analytics
• targets analytics use cases
• calculating aggregates and detecting
patterns to generate higher-level, more
relevant summary information (complex
events)
• Complex events may signify threats or
opportunities that require a response from
the business
Gartner: Market Guide for Event Stream Processing, Nick Heudecker, W. Roy Schulte
Stream Data Integration &
Stream Analytics Ecosystem
Stream Data Integration & Stream Analytics Ecosystem
Stream Analytics
Event Hub
Open Source Closed Source
Stream Data Integration
Source: adapted from Tibco
Edge
Apache Kafka – A Streaming Platform
Kafka Cluster
Consumer 1 Consume 2r
Broker 1 Broker 2 Broker 3
Zookeeper
Ensemble
ZK 1 ZK 2ZK 3
Schema
Registry
Service 1
Management
Control Center
Kafka Manager
KAdmin
Producer 1 Producer 2
kafkacat
Data Retention:
• Never
• Time (TTL) or Size-based
• Log-Compacted based
Producer3Producer3
ConsumerConsumer 3
Apache Kafka – A Streaming Platform
Source
Connector
Sink
Connector
trucking_
driver
KSQL Engine
Kafka Streams
Kafka Broker
Demo using Kafka Stack for Stream Data Integration
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data Flow
??
Filter: #javazone,#javazone2019,#java,#kafka,….
User: @apachekafka, @javazone
Demo: Kafka Connect to retrieve Tweets
curl -X "POST" "$DOCKER_HOST_IP:8083/connectors" 
-H "Content-Type: application/json" 
--data '{
"name": "twitter-source",
"config": {
"connector.class":
"com.github.jcustenborder.kafka.connect.twitter.TwitterSourceConnector",
"twitter.oauth.consumerKey": "xxxxx",
"twitter.oauth.consumerSecret": "xxxxx",
"twitter.oauth.accessToken": "xxxx",
"twitter.oauth.accessTokenSecret": "xxxxx",
"process.deletes": "false",
"filter.keywords": "#javazone,#javazone2019",
"filter.userIds": "15148494",
"kafka.status.topic": "tweet-raw-v1",
"tasks.max": "1"
}
}'
Demo: KSQL for Streaming ETL
CREATE STREAM tweet_s
WITH (KAFKA_TOPIC='tweet-v1', VALUE_FORMAT='AVRO', PARTITIONS=8) AS
SELECT id , createdAt , text , user->screenName
FROM tweet_raw_s;
CREATE STREAM tweet_raw_s WITH (KAFKA_TOPIC='tweet-raw-v1',
VALUE_FORMAT='AVRO');
SELECT id, lang, removestopwords(split(LCASE(text), ' ')) AS word
FROM tweet_raw_s
WHERE lang = 'en' or lang = 'de';
SELECT id, LCASE(hashtagentities[0]->text)
FROM tweet_raw_s
WHERE hashtagentities[0] IS NOT NULL;
Demo using Kafka Stack for Stream Data Integration
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data Flow
??
Filter: #javazone,#javazone2019,#java,#kafka,….
User: @apachekafka, @javazone
Visualization: many many options!
But do they support Streaming Data?
Three Blueprints for
Streaming Visualization
BP1: Fast datastore with regular polling from
consumer
Storage
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
API
Data Store
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion Data at Rest
Data Flow
BP1-1: Elasticsearch / Kibana
Storage
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
API
Data Store
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion Data at Rest
Data Flow
Alternatives:
SOLR & Banana
BP1-2: InfluxDB / Grafana or Chronograf
Storage
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
API
Data Store
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion Data at Rest
Data Flow
Alternatives:
Prometheus & Grafana
Druid & Superset
BP1-3: NoSQL & Custom Web
Storage
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
API
Data Store
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion Data at Rest
Data Flow
BP-1: Demo Redis NoSQL & Custom Web
https://opensky-network.org/
BP1-4: Kafka Streams Interactive Query & Custom App
Storage
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
API
Data Store
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion Data at Rest
Data Flow
Alternatives:
Flink
…
BP2: Direct Streaming to the Consumer
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion
Data Flow
Channel/
Protocol
API
BP2-1: Kafka Connect to Slack / WhatsApp
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion
Data Flow
Channel/
Protocol
API
Alternatives:
Twitter
SMS
…
BP-2-1: Demo Kafka Connect to Slack
curl -X "POST" "$DOCKER_HOST_IP:8083/connectors" 
-H "Content-Type: application/json" 
--data '{
"name": "slack-sink",
"config": {
"connector.class": "net..SlackSinkConnector",
"tasks.max": "1",
"topics":"slack-notify",
"slack.token":”XXXX",
"slack.channel":"general",
"message.template":
"tweet by ${USER_SCREENNAME} with ${TEXT}",
}
}'
BP2-2: Kafka to Tipboard (Dashboard Solution)
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion
Data Flow
Channel/
Protocol
API
Alternatives:
Dashing
Geckoboard
…
BP2-2: Demo Kafka to Tipboard (Dashboard Solution)
http://allegro.tech/tipboard/
BP2-3: Web Sockets / SSE & Custom Modern Web App
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics
Streaming
Visualization
Data Flow
ConsumerData
Sources
Data In Motion
Data Flow
Channel/
Protocol
API
Sever Sent Event (SSE)
BP3: Streaming SQL Result to Consumer
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics ConsumerData
Sources
Data In Motion
Data Flow
API Streaming
Visualization
BP3-1: KSQL and Arcadia Data
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics ConsumerData
Sources
Data In Motion
Data Flow
API Streaming
Visualization
BP3-1: Demo KSQL and Arcadia Data
https://www.arcadiadata.com/
BP3-2: KSQL with REST API to Custom Web App
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics ConsumerData
Sources
Data In Motion
Data Flow
API Streaming
Visualization
BP3-2: Demo KSQL with REST API
curl -X POST -H 'Content-Type: application/vnd.ksql.v1+json’
-i http://analyticsplatform:8088/query --data '{
"ksql": "SELECT text FROM tweet_raw_s;",
"streamsProperties": { "ksql.streams.auto.offset.reset": "latest” }
}'
{"row":{"columns":["The latest The Naji Filali Daily! https://t.co/9E6GonrySE Thanks to
@Xavier_Porter1 @ClouMedia #ai #bigdata"]},"errorMessage":null,"finalMessage":null}
{"row":{"columns":["RT @Futurist_Invest: This robot can copy your face! Creepy nn#SaturdayThoughts
#SaturdayMorning #creepy #bots #bot #AI #bigdata #robotics
#…"]},"errorMessage":null,"finalMessage":null}
{"row":{"columns":["She’s back telling us all about why datathons are exciting now :) Catch her
while you can! @ARUKscientist @S_Bauermeister #bigdata #ARUKConf
https://t.co/Br484db5ut"]},"errorMessage":null,"finalMessage":null}
{"row":{"columns":["Blockchain Competitive Innovation
Advantage"]},"errorMessage":null,"finalMessage":null}
BP3-3: Spark Streaming & Oracle Stream Analytics
Stream
Analytics
Event
Hub
Stream Data Integration & Stream Analytics ConsumerData
Sources
Data In Motion
Data Flow
API Streaming
Visualization
BP3-3: Demo Spark Streaming & Oracle Stream
Analytics
https://www.oracle.com/middleware/technologies/complex-event-processing.html
Summary
BP1: Fast Store & Polling
• “classic” pattern
• Not end-to-end “data-in-
motion” -> “Data-at-rest”
before visualization
• Slight delay might not be
acceptable for monitoring
dashboard
• Can use full power of data
store(s) => NoSQL
• In-memory reduces overhead
BP2: Stream to Consumer
• minimal latency
• More difficult on “client side”
• good if stream holds directly
what should be displayed
• More difficult if data in
stream needs to be analyzed
before visualization
• No historical info available
BP3: Streaming SQL
• Minimal latency
• Power of SQL query engine
available for visualization
• possibility for “self-service”
style visualization
• Some analytics are more
difficult on streaming data
• No historical info available
Streaming Visualization

More Related Content

PDF
Building event-driven (Micro)Services with Apache Kafka
Guido Schmutz
 
PDF
Streaming Visualisation
Guido Schmutz
 
PDF
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
PDF
Event Hub (i.e. Kafka) in Modern Data Architecture
Guido Schmutz
 
PDF
Data Ingestion in Big Data and IoT platforms
Guido Schmutz
 
PDF
Introduction to Stream Processing
Guido Schmutz
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Introduction to Stream Processing
Guido Schmutz
 
Building event-driven (Micro)Services with Apache Kafka
Guido Schmutz
 
Streaming Visualisation
Guido Schmutz
 
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data Architecture
Guido Schmutz
 
Data Ingestion in Big Data and IoT platforms
Guido Schmutz
 
Introduction to Stream Processing
Guido Schmutz
 
Streaming Visualization
Guido Schmutz
 
Introduction to Stream Processing
Guido Schmutz
 

What's hot (20)

PDF
Introduction to Stream Processing
Guido Schmutz
 
PDF
Ingesting and Processing IoT Data - using MQTT, Kafka Connect and KSQL
Guido Schmutz
 
PDF
Building Event-Driven (Micro)Services with Apache Kafka
Guido Schmutz
 
PDF
What is Apache Kafka? Why is it so popular? Should I use it?
Guido Schmutz
 
PDF
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
PDF
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Building event-driven (Micro)Services with Apache Kafka Ecosystem
Guido Schmutz
 
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
PDF
Introduction to Stream Processing
Guido Schmutz
 
PDF
Event Broker (Kafka) in a Modern Data Architecture
Guido Schmutz
 
PDF
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka
Guido Schmutz
 
PDF
Kafka as your Data Lake - is it Feasible?
Guido Schmutz
 
PDF
Fundamentals Big Data and AI Architecture
Guido Schmutz
 
PDF
Ingesting streaming data into Graph Database
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
PDF
Kafka as an event store - is it good enough?
Guido Schmutz
 
PDF
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Guido Schmutz
 
Introduction to Stream Processing
Guido Schmutz
 
Ingesting and Processing IoT Data - using MQTT, Kafka Connect and KSQL
Guido Schmutz
 
Building Event-Driven (Micro)Services with Apache Kafka
Guido Schmutz
 
What is Apache Kafka? Why is it so popular? Should I use it?
Guido Schmutz
 
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
Streaming Visualization
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
Streaming Visualization
Guido Schmutz
 
Building event-driven (Micro)Services with Apache Kafka Ecosystem
Guido Schmutz
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
Introduction to Stream Processing
Guido Schmutz
 
Event Broker (Kafka) in a Modern Data Architecture
Guido Schmutz
 
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka
Guido Schmutz
 
Kafka as your Data Lake - is it Feasible?
Guido Schmutz
 
Fundamentals Big Data and AI Architecture
Guido Schmutz
 
Ingesting streaming data into Graph Database
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
Kafka as an event store - is it good enough?
Guido Schmutz
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Guido Schmutz
 
Ad

Similar to Streaming Visualization (20)

PDF
Apache Kafka and KSQL in Action: Let's Build a Streaming Data Pipeline!
confluent
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Building event-driven (Micro)Services with Apache Kafka
Guido Schmutz
 
PDF
Streaming etl in practice with postgre sql, apache kafka, and ksql mic
Bas van Oudenaarde
 
PDF
Self-Service IoT Data Analytics with StreamPipes
Apache StreamPipes
 
PDF
Building Event-Driven (Micro) Services with Apache Kafka
Guido Schmutz
 
PDF
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes
 
PDF
Confluent kafka meetupseattle jan2017
Nitin Kumar
 
PDF
Flink for Everyone: Self-Service Data Analytics with StreamPipes
Apache StreamPipes
 
PDF
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink Forward
 
PDF
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Guido Schmutz
 
PDF
Kafka streams - From pub/sub to a complete stream processing platform
Paolo Castagna
 
PDF
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays
 
PDF
Stream Processing – Concepts and Frameworks
Guido Schmutz
 
PDF
apidays LIVE Paris 2021 - Getting started with Event-Driven APis by Hugo Guer...
apidays
 
PPTX
IoT and Event Streaming at Scale with Apache Kafka
confluent
 
PDF
Apache Kafka for Smart Grid, Utilities and Energy Production
Kai Wähner
 
PDF
Apache Kafka as Event Streaming Platform for Microservice Architectures
Kai Wähner
 
PDF
IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
Kai Wähner
 
PDF
Data pipeline with kafka
Mole Wong
 
Apache Kafka and KSQL in Action: Let's Build a Streaming Data Pipeline!
confluent
 
Streaming Visualization
Guido Schmutz
 
Building event-driven (Micro)Services with Apache Kafka
Guido Schmutz
 
Streaming etl in practice with postgre sql, apache kafka, and ksql mic
Bas van Oudenaarde
 
Self-Service IoT Data Analytics with StreamPipes
Apache StreamPipes
 
Building Event-Driven (Micro) Services with Apache Kafka
Guido Schmutz
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes
 
Confluent kafka meetupseattle jan2017
Nitin Kumar
 
Flink for Everyone: Self-Service Data Analytics with StreamPipes
Apache StreamPipes
 
Flink for Everyone: Self Service Data Analytics with StreamPipes - Philipp Ze...
Flink Forward
 
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Guido Schmutz
 
Kafka streams - From pub/sub to a complete stream processing platform
Paolo Castagna
 
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays
 
Stream Processing – Concepts and Frameworks
Guido Schmutz
 
apidays LIVE Paris 2021 - Getting started with Event-Driven APis by Hugo Guer...
apidays
 
IoT and Event Streaming at Scale with Apache Kafka
confluent
 
Apache Kafka for Smart Grid, Utilities and Energy Production
Kai Wähner
 
Apache Kafka as Event Streaming Platform for Microservice Architectures
Kai Wähner
 
IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
Kai Wähner
 
Data pipeline with kafka
Mole Wong
 
Ad

More from Guido Schmutz (10)

PDF
30 Minutes to the Analytics Platform with Infrastructure as Code
Guido Schmutz
 
PDF
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Guido Schmutz
 
PDF
ksqlDB - Stream Processing simplified!
Guido Schmutz
 
PDF
Location Analytics - Real-Time Geofencing using Apache Kafka
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Guido Schmutz
 
PDF
Location Analytics Real-Time Geofencing using Kafka
Guido Schmutz
 
PDF
Location Analytics - Real-Time Geofencing using Kafka
Guido Schmutz
 
PDF
Location Analytics - Real Time Geofencing using Apache Kafka
Guido Schmutz
 
PDF
Kafka as an Event Store - is it Good Enough?
Guido Schmutz
 
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
30 Minutes to the Analytics Platform with Infrastructure as Code
Guido Schmutz
 
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Guido Schmutz
 
ksqlDB - Stream Processing simplified!
Guido Schmutz
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Guido Schmutz
 
Location Analytics Real-Time Geofencing using Kafka
Guido Schmutz
 
Location Analytics - Real-Time Geofencing using Kafka
Guido Schmutz
 
Location Analytics - Real Time Geofencing using Apache Kafka
Guido Schmutz
 
Kafka as an Event Store - is it Good Enough?
Guido Schmutz
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 

Recently uploaded (20)

PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Software Development Methodologies in 2025
KodekX
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
The Future of Artificial Intelligence (AI)
Mukul
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 

Streaming Visualization

  • 1. BASEL | BERN | BRUGG | BUCHAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENEVA HAMBURG | COPENHAGEN | LAUSANNE | MANNHEIM | MUNICH | STUTTGART | VIENNA | ZURICH http://guidoschmutz.wordpress.com@gschmutz Streaming Visualization JavaZone Oslo 2019 Guido Schmutz
  • 2. Guido Schmutz Working at Trivadis for more than 22 years Consultant, Trainer Software Architect for Java, Oracle, SOA and Big Data / Fast Data Oracle Groundbreaker Ambassador & Oracle ACE Director Head of Trivadis Architecture Board Technology Manager @ Trivadis More than 30 years of software development experience Contact: [email protected] Blog: http://guidoschmutz.wordpress.com Slideshare: http://www.slideshare.net/gschmutz Twitter: gschmutz 167th edition
  • 3. Agenda 1. Motivation / Introduction 2. Stream Data Integration & Stream Analytics Ecosystem 3. Three Blueprints for Streaming Visualization End-to-End Demo available here: https://github.com/gschmutz/various-demos/tree/master/streaming-visualization
  • 5. Timely decisions require new data in minutes
  • 6. Keep the data in motion … Data at Rest Data in Motion Store (Re)Act Visualize/ Analyze StoreAct Analyze 11101 01010 10110 11101 01010 10110 vs. Visualize
  • 7. Hadoop Clusterd Hadoop Cluster Big Data Reference Architecture for Data Analytics Solutions SQL Search Service BI Tools Enterprise Data Warehouse Search / Explore File Import / SQL Import Event Hub D ata Flow D ata Flow Change DataCapture Parallel Processing Storage Storage RawRefined Results SQL Export Microservice State { } API Stream Processor State { } API Event Stream Event Stream Search Service Stream Analytics Microservices Enterprise Apps Logic { } API Edge Node Rules Event Hub Storage Bulk Source Event Source Location DB Extract File DB IoT Data Mobile Apps Social Event Stream Telemetry
  • 8. Two Types of Stream Processing (by Gartner) Stream Data Integration • focuses on the ingestion and processing of data sources targeting real-time extract- transform-load (ETL) and data integration use cases • filter and enrich the data Stream Analytics • targets analytics use cases • calculating aggregates and detecting patterns to generate higher-level, more relevant summary information (complex events) • Complex events may signify threats or opportunities that require a response from the business Gartner: Market Guide for Event Stream Processing, Nick Heudecker, W. Roy Schulte
  • 9. Stream Data Integration & Stream Analytics Ecosystem
  • 10. Stream Data Integration & Stream Analytics Ecosystem Stream Analytics Event Hub Open Source Closed Source Stream Data Integration Source: adapted from Tibco Edge
  • 11. Apache Kafka – A Streaming Platform Kafka Cluster Consumer 1 Consume 2r Broker 1 Broker 2 Broker 3 Zookeeper Ensemble ZK 1 ZK 2ZK 3 Schema Registry Service 1 Management Control Center Kafka Manager KAdmin Producer 1 Producer 2 kafkacat Data Retention: • Never • Time (TTL) or Size-based • Log-Compacted based Producer3Producer3 ConsumerConsumer 3
  • 12. Apache Kafka – A Streaming Platform Source Connector Sink Connector trucking_ driver KSQL Engine Kafka Streams Kafka Broker
  • 13. Demo using Kafka Stack for Stream Data Integration Stream Analytics Event Hub Stream Data Integration & Stream Analytics Streaming Visualization Data Flow ConsumerData Sources Data Flow ?? Filter: #javazone,#javazone2019,#java,#kafka,…. User: @apachekafka, @javazone
  • 14. Demo: Kafka Connect to retrieve Tweets curl -X "POST" "$DOCKER_HOST_IP:8083/connectors" -H "Content-Type: application/json" --data '{ "name": "twitter-source", "config": { "connector.class": "com.github.jcustenborder.kafka.connect.twitter.TwitterSourceConnector", "twitter.oauth.consumerKey": "xxxxx", "twitter.oauth.consumerSecret": "xxxxx", "twitter.oauth.accessToken": "xxxx", "twitter.oauth.accessTokenSecret": "xxxxx", "process.deletes": "false", "filter.keywords": "#javazone,#javazone2019", "filter.userIds": "15148494", "kafka.status.topic": "tweet-raw-v1", "tasks.max": "1" } }'
  • 15. Demo: KSQL for Streaming ETL CREATE STREAM tweet_s WITH (KAFKA_TOPIC='tweet-v1', VALUE_FORMAT='AVRO', PARTITIONS=8) AS SELECT id , createdAt , text , user->screenName FROM tweet_raw_s; CREATE STREAM tweet_raw_s WITH (KAFKA_TOPIC='tweet-raw-v1', VALUE_FORMAT='AVRO'); SELECT id, lang, removestopwords(split(LCASE(text), ' ')) AS word FROM tweet_raw_s WHERE lang = 'en' or lang = 'de'; SELECT id, LCASE(hashtagentities[0]->text) FROM tweet_raw_s WHERE hashtagentities[0] IS NOT NULL;
  • 16. Demo using Kafka Stack for Stream Data Integration Stream Analytics Event Hub Stream Data Integration & Stream Analytics Streaming Visualization Data Flow ConsumerData Sources Data Flow ?? Filter: #javazone,#javazone2019,#java,#kafka,…. User: @apachekafka, @javazone
  • 17. Visualization: many many options! But do they support Streaming Data?
  • 19. BP1: Fast datastore with regular polling from consumer Storage Stream Analytics Event Hub Stream Data Integration & Stream Analytics API Data Store Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data at Rest Data Flow
  • 20. BP1-1: Elasticsearch / Kibana Storage Stream Analytics Event Hub Stream Data Integration & Stream Analytics API Data Store Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data at Rest Data Flow Alternatives: SOLR & Banana
  • 21. BP1-2: InfluxDB / Grafana or Chronograf Storage Stream Analytics Event Hub Stream Data Integration & Stream Analytics API Data Store Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data at Rest Data Flow Alternatives: Prometheus & Grafana Druid & Superset
  • 22. BP1-3: NoSQL & Custom Web Storage Stream Analytics Event Hub Stream Data Integration & Stream Analytics API Data Store Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data at Rest Data Flow
  • 23. BP-1: Demo Redis NoSQL & Custom Web https://opensky-network.org/
  • 24. BP1-4: Kafka Streams Interactive Query & Custom App Storage Stream Analytics Event Hub Stream Data Integration & Stream Analytics API Data Store Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data at Rest Data Flow Alternatives: Flink …
  • 25. BP2: Direct Streaming to the Consumer Stream Analytics Event Hub Stream Data Integration & Stream Analytics Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data Flow Channel/ Protocol API
  • 26. BP2-1: Kafka Connect to Slack / WhatsApp Stream Analytics Event Hub Stream Data Integration & Stream Analytics Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data Flow Channel/ Protocol API Alternatives: Twitter SMS …
  • 27. BP-2-1: Demo Kafka Connect to Slack curl -X "POST" "$DOCKER_HOST_IP:8083/connectors" -H "Content-Type: application/json" --data '{ "name": "slack-sink", "config": { "connector.class": "net..SlackSinkConnector", "tasks.max": "1", "topics":"slack-notify", "slack.token":”XXXX", "slack.channel":"general", "message.template": "tweet by ${USER_SCREENNAME} with ${TEXT}", } }'
  • 28. BP2-2: Kafka to Tipboard (Dashboard Solution) Stream Analytics Event Hub Stream Data Integration & Stream Analytics Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data Flow Channel/ Protocol API Alternatives: Dashing Geckoboard …
  • 29. BP2-2: Demo Kafka to Tipboard (Dashboard Solution) http://allegro.tech/tipboard/
  • 30. BP2-3: Web Sockets / SSE & Custom Modern Web App Stream Analytics Event Hub Stream Data Integration & Stream Analytics Streaming Visualization Data Flow ConsumerData Sources Data In Motion Data Flow Channel/ Protocol API Sever Sent Event (SSE)
  • 31. BP3: Streaming SQL Result to Consumer Stream Analytics Event Hub Stream Data Integration & Stream Analytics ConsumerData Sources Data In Motion Data Flow API Streaming Visualization
  • 32. BP3-1: KSQL and Arcadia Data Stream Analytics Event Hub Stream Data Integration & Stream Analytics ConsumerData Sources Data In Motion Data Flow API Streaming Visualization
  • 33. BP3-1: Demo KSQL and Arcadia Data https://www.arcadiadata.com/
  • 34. BP3-2: KSQL with REST API to Custom Web App Stream Analytics Event Hub Stream Data Integration & Stream Analytics ConsumerData Sources Data In Motion Data Flow API Streaming Visualization
  • 35. BP3-2: Demo KSQL with REST API curl -X POST -H 'Content-Type: application/vnd.ksql.v1+json’ -i http://analyticsplatform:8088/query --data '{ "ksql": "SELECT text FROM tweet_raw_s;", "streamsProperties": { "ksql.streams.auto.offset.reset": "latest” } }' {"row":{"columns":["The latest The Naji Filali Daily! https://t.co/9E6GonrySE Thanks to @Xavier_Porter1 @ClouMedia #ai #bigdata"]},"errorMessage":null,"finalMessage":null} {"row":{"columns":["RT @Futurist_Invest: This robot can copy your face! Creepy nn#SaturdayThoughts #SaturdayMorning #creepy #bots #bot #AI #bigdata #robotics #…"]},"errorMessage":null,"finalMessage":null} {"row":{"columns":["She’s back telling us all about why datathons are exciting now :) Catch her while you can! @ARUKscientist @S_Bauermeister #bigdata #ARUKConf https://t.co/Br484db5ut"]},"errorMessage":null,"finalMessage":null} {"row":{"columns":["Blockchain Competitive Innovation Advantage"]},"errorMessage":null,"finalMessage":null}
  • 36. BP3-3: Spark Streaming & Oracle Stream Analytics Stream Analytics Event Hub Stream Data Integration & Stream Analytics ConsumerData Sources Data In Motion Data Flow API Streaming Visualization
  • 37. BP3-3: Demo Spark Streaming & Oracle Stream Analytics https://www.oracle.com/middleware/technologies/complex-event-processing.html
  • 38. Summary BP1: Fast Store & Polling • “classic” pattern • Not end-to-end “data-in- motion” -> “Data-at-rest” before visualization • Slight delay might not be acceptable for monitoring dashboard • Can use full power of data store(s) => NoSQL • In-memory reduces overhead BP2: Stream to Consumer • minimal latency • More difficult on “client side” • good if stream holds directly what should be displayed • More difficult if data in stream needs to be analyzed before visualization • No historical info available BP3: Streaming SQL • Minimal latency • Power of SQL query engine available for visualization • possibility for “self-service” style visualization • Some analytics are more difficult on streaming data • No historical info available