Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
MongoDB
React native meetup 2019
Arjun Kava
Webinar about Spring Data Neo4j 4
GraphAware
DE gitConnect
Akshara Chaturvedi
Next-generation API Development with GraphQL and Prisma
Nikolas Burk
GraphQL Schema Stitching with Prisma & Contentful
Nikolas Burk
InfluxDB 101 – Concepts and Architecture by Michael DeSa, Software Engineer |...
InfluxData
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Pramati Technologies
1
of
47
Top clipped slide
Stream Processing with Hazelcast Jet - Voxxed Days Thessaloniki 19.11.2018
Nov. 19, 2018
•
0 likes
0 likes
×
Be the first to like this
Show More
•
1,047 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
Talk I gave at the Voxxed Days Thessaloniki 2018 conference
Rafał Leszko
Follow
Advertisement
Advertisement
Advertisement
Recommended
Graph Gurus Episode 5: Webinar PageRank
TigerGraph
99 views
•
21 slides
Graph Gurus Episode 11: Accumulators for Complex Graph Analytics
TigerGraph
164 views
•
23 slides
JavaFest. Cedrick Lunven. Build APIS with SpringBoot - REST, GRPC, GRAPHQL wh...
FestGroup
275 views
•
55 slides
Graph Gurus Episode 7: Connecting the Dots in Real-Time: Deep Link Analysis w...
TigerGraph
160 views
•
33 slides
Graph Gurus Episode 13: Visualizing Bitcoin Blockchain with Tiger Graph
TigerGraph
259 views
•
37 slides
Graph Gurus Episode 8: Location, Location, Location - Geospatial Analysis wit...
TigerGraph
231 views
•
29 slides
More Related Content
Slideshows for you
(6)
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
MongoDB
•
920 views
React native meetup 2019
Arjun Kava
•
324 views
Webinar about Spring Data Neo4j 4
GraphAware
•
7.9K views
DE gitConnect
Akshara Chaturvedi
•
196 views
Next-generation API Development with GraphQL and Prisma
Nikolas Burk
•
497 views
GraphQL Schema Stitching with Prisma & Contentful
Nikolas Burk
•
635 views
Similar to Stream Processing with Hazelcast Jet - Voxxed Days Thessaloniki 19.11.2018
(20)
InfluxDB 101 – Concepts and Architecture by Michael DeSa, Software Engineer |...
InfluxData
•
348 views
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Pramati Technologies
•
180 views
Developing Your Own Flux Packages by David McKay | Head of Developer Relation...
InfluxData
•
154 views
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
AWS Germany
•
181 views
Scaling Push Messaging for Millions of Netflix Devices
Susheel Aroskar
•
2.8K views
In-Memory Stream Processing with Hazelcast Jet @JEEConf
Nazarii Cherkas
•
415 views
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxData
InfluxData
•
941 views
How to Build a Telegraf Plugin by Noah Crowley
InfluxData
•
3.2K views
From Mainframe to Microservices with Pivotal Platform and Kafka: Bridging the...
VMware Tanzu
•
842 views
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...
Charles Sonigo
•
65 views
Building Real-Time Serverless Backends with GraphQL
Amazon Web Services
•
259 views
Danilo Poccia - Real-Time Serverless Backends with GraphQL - Codemotion Berli...
Codemotion
•
47 views
SpringOne Platform 2017報告会 メインプロジェクトのアップデート
Takuya Iwatsuka
•
1.2K views
Neptune, the Graph Database | AWS Floor28
Amazon Web Services
•
1K views
[ETHCon Korea 2019] Jung woohyun 정우현
ethconkr
•
10K views
Analyze Amazon CloudFront and Lambda@Edge Logs to Improve Customer Experience...
Amazon Web Services
•
1.6K views
Ten Tips And Tricks for Improving Your GraphQL API with AWS AppSync (MOB401) ...
Amazon Web Services
•
10.6K views
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...
Amazon Web Services
•
2.3K views
PrismTech Vortex Tutorial Part 1
ADLINK Technology IoT
•
1.1K views
Vortex Tutorial -- Part I
Angelo Corsaro
•
2.4K views
Advertisement
More from Rafał Leszko
(20)
Build Your Kubernetes Operator with the Right Tool!
Rafał Leszko
•
188 views
Mutation Testing with PIT
Rafał Leszko
•
159 views
Distributed Locking in Kubernetes
Rafał Leszko
•
1.5K views
Architectural patterns for high performance microservices in kubernetes
Rafał Leszko
•
368 views
Architectural caching patterns for kubernetes
Rafał Leszko
•
407 views
Architectural patterns for caching microservices
Rafał Leszko
•
212 views
Mutation testing with PIT
Rafał Leszko
•
135 views
[jLove 2020] Where is my cache architectural patterns for caching microservi...
Rafał Leszko
•
203 views
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
•
348 views
Architectural caching patterns for kubernetes
Rafał Leszko
•
248 views
Build your operator with the right tool
Rafał Leszko
•
135 views
5 levels of high availability from multi instance to hybrid cloud
Rafał Leszko
•
154 views
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
•
457 views
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
Rafał Leszko
•
513 views
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
•
92 views
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
•
721 views
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
•
556 views
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
Rafał Leszko
•
343 views
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
•
510 views
Stream Processing in the Cloud - Athens Kubernetes Meetup 16.07.2019
Rafał Leszko
•
137 views
Recently uploaded
(20)
Shell Scripting and Programming.pptx
Harsha Patel
•
0 views
Where's My Message? with David Navalho & Ricardo Henriques
HostedbyConfluent
•
0 views
Exploring ChatGPT For Effective Teaching
AdicodeTechnologies
•
0 views
Cryptocurrency Market.pdf
SimaJadhav1
•
0 views
Top 8 WordPress Design and Development Trends of 2023
Andolasoft Inc
•
0 views
Versioned State Stores in Kafka Streams with Victoria Xia
HostedbyConfluent
•
0 views
A Kafka Client’s Request: There and Back Again with Danica Fine
HostedbyConfluent
•
0 views
Better Integration Tests for Kafka Applications with Testcontainers with Oleg...
HostedbyConfluent
•
0 views
SREYAS SOFTWARE SOLUTIONS PRIVATE LIMITED
AnkushKashyap25
•
0 views
Chrome Browser Deployment Guide (1).pdf
IrfanAslam55
•
0 views
Motor Tunning.pdf
samirhasan13
•
0 views
Reliable Message Reprocessing Patterns for Kafka with Dunith Dhanushka
HostedbyConfluent
•
0 views
AI-Powered ERP Software Features
SreeVeenaKailasa1
•
0 views
Streaming Infrastructure at Wise with Levani Kokhreidze
HostedbyConfluent
•
0 views
Apples and Oranges - Comparing Kafka Streams and Flink with Bill Bejeck
HostedbyConfluent
•
0 views
artificial-intelligence And sepf balancing scooter.pptx
KrishnaHasare
•
0 views
Access and Secure Storage Based Block Chain Scheme with IPFS Implemented in E...
NAUMAN MUSHTAQ
•
0 views
Exactly-once Stream Processing Done Right with Matthias J Sax
HostedbyConfluent
•
0 views
Build an Event-driven Microservices with Apache Kafka & Apache Flink with Ali...
HostedbyConfluent
•
0 views
Restoring Restoration's Reputation in Kafka Streams with Bruno Cadonna & Luca...
HostedbyConfluent
•
0 views
Advertisement
Stream Processing with Hazelcast Jet - Voxxed Days Thessaloniki 19.11.2018
1 Stream Processing with Hazelcast
Jet Rafał Leszko @RafalLeszko
© 2018 Hazelcast
Inc. Confidential & Proprietary Agenda ● Introduction to Jet ○ What is Hazelcast? ○ What is Stream Processing and Hazelcast Jet? ○ Example 1: Word Count ● Jet Under the Hood ○ How does it work? ○ Infinite Streams ○ Example 2: Twitter Cryptocurrency Analysis ● Jet Features & Use Cases ○ Jet Features ○ Why would I need it? ○ Example 3: Web Crawler
© 2018 Hazelcast
Inc. Confidential & Proprietary Introduction to Jet
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast?
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast? Products:
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast? Products:
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast? Products: My Role: ● Cloud Software Engineer
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast Jet?
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast Jet? DAG - Direct Acyclic Graph
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast Jet?
© 2018 Hazelcast
Inc. Confidential & Proprietary What is Hazelcast Jet?
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count Problem: Count the number of occurrences of each word in the given text. Sample Input: Lorem ipsum dolor, dolor. Sample Output: lorem=1 ipsum=1 dolor=2
© 2018 Hazelcast
Inc. Confidential & Proprietary Pure Java Pattern delimiter = Pattern.compile("W+"); return lines.entrySet().stream() .map(e -> e.getValue().toLowerCase()) .flatMap(t -> Arrays.stream(delimiter.split(t))) .filter(word -> !word.isEmpty()) .collect( groupingBy( identity(), counting())); Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count Hazelcast Jet Pattern delimiter = Pattern.compile("W+"); Pipeline pipeline = Pipeline.create(); pipeline.drawFrom(Sources.<Long, String>map(LINES)) .map(e -> e.getValue().toLowerCase()) .flatMap(t -> traverseArray(delimiter.split(t))) .filter(word -> !word.isEmpty()) .groupingKey(wholeItem()) .aggregate(counting()) .drainTo(Sinks.map(COUNTS)); return pipeline;
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count Pure Java Pattern delimiter = Pattern.compile("W+"); return lines.entrySet().stream() .map(e -> e.getValue().toLowerCase()) .flatMap(t -> Arrays.stream(delimiter.split(t))) .filter(word -> !word.isEmpty()) .collect( groupingBy( identity(), counting()));
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count Hazelcast Jet Pattern delimiter = Pattern.compile("W+"); Pipeline pipeline = Pipeline.create(); pipeline.drawFrom(Sources.<Long, String>map(LINES)) .map(e -> e.getValue().toLowerCase()) .flatMap(t -> traverseArray(delimiter.split(t))) .filter(word -> !word.isEmpty()) .groupingKey(wholeItem()) .aggregate(counting()) .drainTo(Sinks.map(COUNTS)); return pipeline;
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 1: Word Count Demo: https://github.com/hazelcast/hazelcast-jet-code-samples
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Under the Hood
© 2018 Hazelcast
Inc. Confidential & Proprietary How does it work?
© 2018 Hazelcast
Inc. Confidential & Proprietary How does it work?
© 2018 Hazelcast
Inc. Confidential & Proprietary How does it work?
© 2018 Hazelcast
Inc. Confidential & Proprietary How does it work? Under the Hood: ● Generate DAG representation from Pipeline ● Serialize DAG ● Send DAG to every Node ● Deserialize DAG ● Executes DAG on each Node
© 2018 Hazelcast
Inc. Confidential & Proprietary Infinite Streams
© 2018 Hazelcast
Inc. Confidential & Proprietary Infinite Streams Examples: ● Currency Exchange Rates ● Tweets from Twitter ● Events in some Event-Based system ● ...
© 2018 Hazelcast
Inc. Confidential & Proprietary Infinite Streams Windowing pipeline.drawFrom(...) .addTimestamps() .window(sliding(30_000, 10_000))
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 2: Twitter Cryptocurrency Analysis Problem: Present in real-time the sentiments about cryptocurrencies Input: Tweets are streamed from Twitter and categorized by coin type (BTC, ETC, XRP, etc) Output: Tweets sentiments (last 30 sec, last minute, last 5 minutes)
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 2: Twitter Cryptocurrency Analysis Demo: https://jet.hazelcast.org/demos/
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Features & Use Cases
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Features Categories of Features ● Easy to Use ● Performance
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Features: Performance
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Features: Performance
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Features: other features
© 2018 Hazelcast
Inc. Confidential & Proprietary Jet Features: discovery
© 2018 Hazelcast
Inc. Confidential & Proprietary Why would I need it?
© 2018 Hazelcast
Inc. Confidential & Proprietary Why would I need it? ● Big Data Projects
© 2018 Hazelcast
Inc. Confidential & Proprietary Why would I need it? ● Big Data Projects ● Speed up Everything
© 2018 Hazelcast
Inc. Confidential & Proprietary Why would I need it? ● Big Data Projects ● Speed up Everything
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 3: Web Crawler Problem: Parse all blog posts from the webpage Input: URL of Blog Trips Output: All the content from the Blog
© 2018 Hazelcast
Inc. Confidential & Proprietary Example 3: Web Crawler Demo: https://github.com/leszko/geodump
© 2018 Hazelcast
Inc. Confidential & Proprietary Thank You!
Advertisement