Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
[NYJavaSig] Riding The Distributed Streams
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Viktor Gamov
February 03, 2017
Technology
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[NYJavaSig] Riding The Distributed Streams
Presentation on Hazelcast and Distributed Streams.
Presented on NYJavaSig
Viktor Gamov
February 03, 2017
More Decks by Viktor Gamov
See All by Viktor Gamov
Processing Streaming Data with KSQL
vikgamov
4
490
[VirtualJUG] Apache Kafka — A Streaming Data Platform
vikgamov
3
460
[SF JUG] Apache Kafka — A Streaming Data Platform
vikgamov
4
130
[OracleCode NYC-2018] Apache Kafka A Streaming Data Platform
vikgamov
1
200
[OracleCode NYC-2018] Rethinking Stream Processing with KStreams and KSQL
vikgamov
2
280
[JBreak-2018] Это кто там твитить про #jbreak?
vikgamov
0
250
[DevNexus-2018] Apache Kafka A Streaming Data Platform
vikgamov
2
340
[DataSciCon] Divide, Distribute and Conquer: Stream v. Batch
vikgamov
0
130
[Philly JUG] Divide, Distribute and Conquer: Stream v. Batch
vikgamov
0
530
Other Decks in Technology
See All in Technology
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
280
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
180
How to Design Configuration for Rails Applications
willnet
0
170
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
430
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
180
自主式軟體工廠
philipz
0
260
USB PDを使ってスマホを労わりたい
raspython3
0
160
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
190
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
610
SREでアラート疲れを 解決しよう!
kairim0
1
230
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
890
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
First, design no harm
axbom
PRO
2
1.3k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
WCS-LA-2024
lcolladotor
0
880
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
How GitHub (no longer) Works
holman
316
150k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Product Roadmaps are Hard
iamctodd
55
13k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
None
> whoami • Solutions Architect @Hazelcast • Hang out with
awesome people • @gamussa in internetz Please, follow me in Twitter I’m very interesting ©
Agenda • Refreshing knowledge on Java 8 Streams • Distribute
and Conquer • Distributed Data • Distributed Streams • How we did all this
Java 8 Streams
Java 8 Streams… • An abstraction represents a sequence of
elements • Is not a data structure • Convey elements from a source through a pipeline of operations • Operation doesn’t modify a source
Why I should care about Stream API? • You’re Java
developer
What does regular Java developer think about Scala? advanced
Why I should care about Stream API? • You’re Java
developer • Many Java developers know Java • It’s all about data processing
java.util.stream operations • map(), flatMap(), filter() • reduce(), collect() •
sorted()
None
None
None
Problem • One does not simply put all Big Data
in one machine
Problem • Data doesn’t fit just one machine
Problem • One does not simply put all Big Data
in one machine • Data is too important to have it only one machine
None
CACHES
Replication on Sharding? http://book.mixu.net/distsys/single-page.html
Solution • Use Distributed Map aka IMap
What’s Hazelcast IMDG? • In-memory Data Grid • Apache v2
Licensed • Distributed • Caches (IMap, JCache) • Java Collections (IList, ISet, IQueue) • Messaging (Topic, RingBuffer) • Computation (ExecutorService, M-R)
None
None
None
Green Primary Green Backup Green Shard
None
Problem • Lambda serialization 26
27
Solution • serializable version of the interfaces • Introducing DistributedStream
28
29
None
31 Jet Streams
None
What’s Hazelcast Jet? • General purpose distributed data processing framework
• Based on Direct Acyclic Graph to model data flow • Built on top of Hazelcast IMDG • Comparable to Apache Spark or Apache Flink 33
None
DAG 35
Job Execution 36
None
Future (It’s bright!) • Memory module for processing big data
• Higher level streaming and batching APIs • Reactive Streams • Distributed Classloading • Integrations (HDFS/Yarn/Mesos)
Your fuel, our Jet Engine • Public release – Feb
7th. • Developer Preview today - yay! • http://hazelcast.org/jet-signup • Send me a note
[email protected]
• Follow @hazelcast and @gamussa (duh!!) • Your questions #hazelcast #hazelcastjet
Conclusion • Java Stream API provides very white range of
data processing tools • War And Piece – is a Big (a lot of data) Book! • Now we’re pretty sure that Andrew and Pierre are the main characters
None