Fast Data: Reactive Systems Meet Big...
Transcript of Fast Data: Reactive Systems Meet Big...
![Page 1: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/1.jpg)
1
Fast Data: Reactive Systems Meet Big Data
February25,[email protected]@deanwampler ©Dean Wampler 2014-2016, All Rights Reserved
![Page 3: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/3.jpg)
Motivation:
3
eCommerce
![Page 4: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/4.jpg)
Cyber Monday?
4
![Page 5: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/5.jpg)
On demand?
5
![Page 6: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/6.jpg)
Motivation:
6
Internet of Things
![Page 7: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/7.jpg)
7
Medical Devices,IT Systems
![Page 8: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/8.jpg)
8
Aircraft Engines
![Page 9: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/9.jpg)
9
Trucks, Farm Equipment
![Page 10: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/10.jpg)
10
Remote Sensors
![Page 11: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/11.jpg)
11
Robotics
![Page 12: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/12.jpg)
12
Health Monitoring,Home Automation
![Page 13: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/13.jpg)
13
Reactive Systems
![Page 14: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/14.jpg)
1420
Message Driven
ResilientElastic
Responsive
![Page 15: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/15.jpg)
Message Driven
ResilientElastic
Responsive
15
![Page 16: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/16.jpg)
Message Driven
ResilientElastic
Responsive
16
![Page 17: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/17.jpg)
17
Requests or commandsrequire timely responses.
ResilientElastic
Responsive
![Page 18: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/18.jpg)
18
Responsive
![Page 19: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/19.jpg)
19
Requires predictableresponse times
and quality of service.
Responsive
![Page 20: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/20.jpg)
20
Requires pre-plannedgraceful degradation
of service.
Responsive
![Page 21: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/21.jpg)
21
Awareness of timeis first class.
Responsive
![Page 22: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/22.jpg)
Message Driven
ResilientElastic
Responsive
22
![Page 23: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/23.jpg)
23
Recovers from errors
Message Driven
ResilientElastic
Responsive
![Page 24: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/24.jpg)
24
Resilient
![Page 25: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/25.jpg)
25
Resilient
Failure isnot disruptive.
It’s routine.
![Page 26: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/26.jpg)
26
Resilient
Therefore, failure is a
first class concept.
![Page 27: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/27.jpg)
Message Driven
ResilientElastic
Responsive
27
![Page 28: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/28.jpg)
28
Scale up and down
Message Driven
ResilientElastic
Responsive
![Page 29: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/29.jpg)
29
Elastic
![Page 30: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/30.jpg)
30
Elastic
Detect changinginput patterns.Automaticallyadjust services.
![Page 31: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/31.jpg)
31
Elastic
No bottlenecksor contention points.
![Page 32: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/32.jpg)
Message Driven
ResilientElastic
Responsive
32
![Page 33: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/33.jpg)
33
To react, you must be message driven.
Message Driven
ResilientElastic
![Page 34: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/34.jpg)
Message Driven
34
![Page 35: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/35.jpg)
35
Asynchronousmessage passing.
Message Driven
![Page 36: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/36.jpg)
36
Defines boundaries, promotes loose coupling
and isolation.
Message Driven
![Page 37: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/37.jpg)
37
Fast Data
![Page 38: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/38.jpg)
38
Spark
![Page 39: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/39.jpg)
39
Productivity?
Very concise, elegant, functional APIs.•Python, R•Scala, Java
•... and SQL!
![Page 40: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/40.jpg)
40
Productivity?
Interactive shell (REPL)•Scala, Python, R, and SQL!•“Notebooks”
![Page 41: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/41.jpg)
41
Batch + Streaming?
Streams - “mini batch” processing:•Reuse “batch” code•Adds “window” functions•“Discretized Streams”: DStreams
![Page 42: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/42.jpg)
42
![Page 43: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/43.jpg)
43
import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._
val sparkContext = new SparkContext(master, “Inv. Index”)sparkContext.textFile("/path/to/input").map { line => val array = line.split(",", 2) (array(0), array(1))}.flatMap { case (id, contents) => toWords(contents).map(w => ((w,id),1))}.reduceByKey(_ + _).map { case ((word,id),n) => (word,(id,n))}.groupByKey.mapValues { seq => sortByCount(seq)}.saveAsTextFile("/path/to/output")
Powerful,beautiful
combinators
![Page 44: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/44.jpg)
44
reduceByKey
flatMap
textFile
map
map
groupByKey
map
saveAsTextFile
Lazy API, inspired by Scala collections.•Combines steps into “stages”. •Keeps intermediate data in
memory.
![Page 45: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/45.jpg)
45
![Page 46: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/46.jpg)
46
![Page 47: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/47.jpg)
47
![Page 48: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/48.jpg)
48
•Message Queue Semantics•Log-oriented ingestion, scalability
n+5
n+4
n+3
n+2
n+1 n
Consumer 1
Producer 1
Producer 2
n+?
n+?
Consumer 2
Topic A
![Page 49: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/49.jpg)
49
Service 1
Log & Other Files
Internet
Services
Service 2
Service 3
Services
Services
N * M links ConsumersProducers
![Page 50: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/50.jpg)
50
Service 1
Log & Other Files
Internet
Services
Service 2
Service 3
Services
Services
N + M links ConsumersProducers
![Page 52: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/52.jpg)
52
Even
t
Even
t
Even
t
Even
t
Even
t
Even
tEvent/Data Stream
Consumer
Consumerfeedback
feedback
feedback
![Page 53: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/53.jpg)
Unbounded queues eventually exhaust the heap.
53
Reactive Streams
Even
t
Even
t
Even
t
Even
t
Even
t
Even
tEvent/Data Stream
Consumer
Consumerfeedback
feedback
feedback
![Page 54: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/54.jpg)
Bounded queues cause blocking or arbitrary dropping of events.
54
Reactive Streams
Even
t
Even
t
Even
t
Even
t
Even
t
Even
tEvent/Data Stream
Consumer
Consumerfeedback
feedback
feedback
![Page 55: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/55.jpg)
Solution: Back pressure where the producer and
consumer negotiate.55
Reactive Streams
![Page 56: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/56.jpg)
Reactive Streams over Actors.
56
Akka Streams
![Page 57: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/57.jpg)
Putting It Together
57
![Page 58: Fast Data: Reactive Systems Meet Big Datafiles.meetup.com/8500592/FastData-ReactiveSystemsMeetBigData.pdf41 Batch + Streaming? Streams - “mini batch” processing: •Reuse “batch”](https://reader030.fdocuments.net/reader030/viewer/2022011822/5ec97b1d87925279d72b98a5/html5/thumbnails/58.jpg)
58