SlideShare a Scribd company logo
dbisINSTITUT FÜR INFORMATIK
HUMBOLDT−UNIVERSITÄT ZU ERLINB
Feeding a Squirrel in Time—Windows in Flink
Apache Flink Meetup Munich
Matthias J. Sax
mjsax@{informatik.hu-berlin.de|apache.org}
@MatthiasJSax
Humboldt-Universit¨at zu Berlin
Department of Computer Science
November 11st
2015
–MatthiasJ.Sax–WindowsinApacheFlink
1/21
About Me
Ph. D. student in CS, DBIS Group, HU Berlin
involved in Stratosphere research project
working on data stream processing and optimization
Aeolus: build on top of Apache Storm
(https://github.com/mjsax/aeolus)
Committer at Apache Flink
–MatthiasJ.Sax–WindowsinApacheFlink
2/21
Stream Processing
Processing data in motion:
external sources create data constantly
data is pushed to the system
need to keep up with incoming data rate
usage of ingestion buffers (e. g., Apache Kafka)
handle data peaks
back pressure, dynamic scaling (or even load-shedding)
low processing latency (milliseconds)
no micro-batching
–MatthiasJ.Sax–WindowsinApacheFlink
3/21
Other Systems
Apache Storm
widely used in industry
different processing guarantees
no guarantee
at-least-once
exactly-once (not for external writes)
no ordering guarantees
no type system
dynamic scaling (to some extent)
some high-level abstractions using Trident
windows, state, exactly-once-processing
–MatthiasJ.Sax–WindowsinApacheFlink
4/21
Other Systems (cont.)
Apache Samza
similar to Storm
at-least-once processing
active state handling
–MatthiasJ.Sax–WindowsinApacheFlink
5/21
Other Systems (cont.)
Google Dataflow
similar API to Flink offering very rich semantics
windows, triggers
can deal with late arriving data
dynamic scaling
only available as service in the cloud
–MatthiasJ.Sax–WindowsinApacheFlink
6/21
Other Systems (cont.)
Apache Spark (Streaming)
micro-batching (no real streaming)
limited semantics
exactly-once processing
state management
no sub-second latency
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812 10
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812 10
0
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812 10
0
sum
10
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812 10
0
sum
10
12
10
sum
22
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812 10
0
sum
10
12
10
sum
22
8
22
sum
30
–MatthiasJ.Sax–WindowsinApacheFlink
7/21
Batch vs. Stream Processing
1012812 1012812
sum
42
1012812 10
0
sum
10
12
10
sum
22
8
22
sum
30
12
30
sum
42
–MatthiasJ.Sax–WindowsinApacheFlink
8/21
Batch vs. Stream Processing (cont.)
DataSet API
DataSet <Tuple2 <String ,Integer >> input
= ...
DataSet <Tuple2 <String ,Integer >> result
= input.groupBy (0). sum (1);
–MatthiasJ.Sax–WindowsinApacheFlink
8/21
Batch vs. Stream Processing (cont.)
DataSet API
DataSet <Tuple2 <String ,Integer >> input
= ...
DataSet <Tuple2 <String ,Integer >> result
= input.groupBy (0). sum (1);
DataStream API
DataStream <Tuple2 <String ,Integer >> input
= ...
DataStream <Tuple2 <String ,Integer >> result
= input.keyBy (0). sum (1);
–MatthiasJ.Sax–WindowsinApacheFlink
9/21
Count Based Windows
1012812
–MatthiasJ.Sax–WindowsinApacheFlink
9/21
Count Based Windows
1012812 1012
–MatthiasJ.Sax–WindowsinApacheFlink
9/21
Count Based Windows
1012812 1012
sum
22
–MatthiasJ.Sax–WindowsinApacheFlink
9/21
Count Based Windows
1012812 1012
sum
22
812
sum
20
–MatthiasJ.Sax–WindowsinApacheFlink
9/21
Count Based Windows
1012812 1012
sum
22
812
sum
20
1012812
–MatthiasJ.Sax–WindowsinApacheFlink
9/21
Count Based Windows
1012812 1012
sum
22
812
sum
20
1012812 1012
sum
22
128
sum
20
812
sum
20
–MatthiasJ.Sax–WindowsinApacheFlink
10/21
Count Based Windows
Count Based Window (tumbling)
DataStream <Tuple2 <String ,Integer >> input
= ...
DataStream <Tuple2 <String ,Integer >> result
= input.keyBy (0). countWindow (2). sum (1);
–MatthiasJ.Sax–WindowsinApacheFlink
10/21
Count Based Windows
Count Based Window (tumbling)
DataStream <Tuple2 <String ,Integer >> input
= ...
DataStream <Tuple2 <String ,Integer >> result
= input.keyBy (0). countWindow (2). sum (1);
Count Based Window (overlapping)
DataStream <Tuple2 <String ,Integer >> input
= ...
DataStream <Tuple2 <String ,Integer >> result
= input.keyBy (0). countWindow (2 ,1). sum (1);
–MatthiasJ.Sax–WindowsinApacheFlink
10/21
Count Based Windows
Count Based Window (tumbling)
DataStream <Tuple2 <String ,Integer >> input
= ...
DataStream <Tuple2 <String ,Integer >> result
= input.keyBy (0). countWindow (2). sum (1);
Count Based Window (overlapping)
DataStream <Tuple2 <String ,Integer >> input
= ...
DataStream <Tuple2 <String ,Integer >> result
= input.keyBy (0). countWindow (2 ,1). sum (1);
Caution: count-windows applies to each sub-stream
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
abcd
Ext. prod. 1
1234
Ext. prod. 2
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
abcd
Ext. prod. 1
1234
Ext. prod. 2
time: 5 4 3 2 1
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
abcd
Ext. prod. 1
1234
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
abcd
Ext. prod. 1
1234
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
bcd
Ext. prod. 1
234
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
bcd
Ext. prod. 1
234
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
cd
Ext. prod. 1
34
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
2b
2.53.5
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
cd
Ext. prod. 1
34
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
2b
2.53.5
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
d
Ext. prod. 1
4
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
2b
2.53.5
c3
4.55
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
d
Ext. prod. 1
4
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
2b
2.53.5
c3
4.55
–MatthiasJ.Sax–WindowsinApacheFlink
11/21
The Nature of Data Streams
Ext. prod. 1
Ext. prod. 2
time: 5 4 3 2 1
Source Operator
a1
1.52
2b
2.53.5
c3
4.55
d4
66.5
–MatthiasJ.Sax–WindowsinApacheFlink
12/21
The Notion of Time
Event Time = Processing Time
–MatthiasJ.Sax–WindowsinApacheFlink
12/21
The Notion of Time
Event Time = Processing Time
Event Time
ProcessingTime
Google Cloud Dataflow and Flink, William Vambenepe, Flink Forward 2015.
–MatthiasJ.Sax–WindowsinApacheFlink
12/21
The Notion of Time
Event Time = Processing Time
Event Time
ProcessingTime
Skew
Google Cloud Dataflow and Flink, William Vambenepe, Flink Forward 2015.
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
1
3
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
1
3
2
4
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
1
3
2
4
1234
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
1
3
2
4
1234
wrong processing order!
2
5
8
7
1
4
7
9
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
1
3
2
4
2
5
8
7
1
4
7
9
wm=3
wm=4
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
4
5
8
7
4
7
9
wm=3
wm=4
11223
–MatthiasJ.Sax–WindowsinApacheFlink
13/21
Watermarks
4
5
8
7
4
7
9
wm=3
wm=4
11223
wm=3
–MatthiasJ.Sax–WindowsinApacheFlink
14/21
Streaming Tradeoffs
Processing Time
no late data / no skew
windows are simple to build
low latency
inherently non-deterministic
–MatthiasJ.Sax–WindowsinApacheFlink
14/21
Streaming Tradeoffs
Processing Time
no late data / no skew
windows are simple to build
low latency
inherently non-deterministic
Event Time (external)
late data / skew
out-of-order data (windowing more difficult)
simpler to reason about semantics (deterministic)
increased latency
–MatthiasJ.Sax–WindowsinApacheFlink
14/21
Streaming Tradeoffs
Processing Time
no late data / no skew
windows are simple to build
low latency
inherently non-deterministic
Event Time (external)
late data / skew
out-of-order data (windowing more difficult)
simpler to reason about semantics (deterministic)
increased latency
Event Time (ingestion)
no late data / no skew
no out-of-order
simplified watermarking
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
// alternatives : ProcessingTime / IngestionTime
env. setStreamTimeCharacteristic (
TimeCharacteristic .EventTime );
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
// alternatives : ProcessingTime / IngestionTime
env. setStreamTimeCharacteristic (
TimeCharacteristic .EventTime );
DataStream <Tuple > input = ...
input. assignTimestamps (
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
// alternatives : ProcessingTime / IngestionTime
env. setStreamTimeCharacteristic (
TimeCharacteristic .EventTime );
DataStream <Tuple > input = ...
input. assignTimestamps (new TimestampExtractor <Tuple > {
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
// alternatives : ProcessingTime / IngestionTime
env. setStreamTimeCharacteristic (
TimeCharacteristic .EventTime );
DataStream <Tuple > input = ...
input. assignTimestamps (new TimestampExtractor <Tuple > {
public long extractTimestamp (Tuple element ,
long currentTimestamp ) {
return /* extract from element */;
}
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
// alternatives : ProcessingTime / IngestionTime
env. setStreamTimeCharacteristic (
TimeCharacteristic .EventTime );
DataStream <Tuple > input = ...
input. assignTimestamps (new TimestampExtractor <Tuple > {
public long extractTimestamp (Tuple element ,
long currentTimestamp ) {
return /* extract from element */;
}
public long extractWatermark (Tuple element ,
long currentTimestamp ) {
return /* extract from element */;
}
–MatthiasJ.Sax–WindowsinApacheFlink
15/21
Time Based Windows
Timestamp Example
StreamExecutionEnviroment env = ...
// alternatives : ProcessingTime / IngestionTime
env. setStreamTimeCharacteristic (
TimeCharacteristic .EventTime );
DataStream <Tuple > input = ...
input. assignTimestamps (new TimestampExtractor <Tuple > {
public long extractTimestamp (Tuple element ,
long currentTimestamp ) {
return /* extract from element */;
}
public long extractWatermark (Tuple element ,
long currentTimestamp ) {
return /* extract from element */;
}
public long getCurrentWatermark () {
return Long.MIN_VALUE;
}
});
–MatthiasJ.Sax–WindowsinApacheFlink
16/21
Time Based Windows (cont.)
Sliding Time Window Example
DataStream <...> input = ...
input.keyBy (...)
// size = 5s; slide = 1s
.timeWindow(Time.of(5, TimeUnit.SECONDS),
Time.of(1, TimeUnit.SECONDS ))
.reduce (...);
–MatthiasJ.Sax–WindowsinApacheFlink
16/21
Time Based Windows (cont.)
Sliding Time Window Example
DataStream <...> input = ...
input.keyBy (...)
// size = 5s; slide = 1s
.timeWindow(Time.of(5, TimeUnit.SECONDS),
Time.of(1, TimeUnit.SECONDS ))
.reduce (...);
General Window Example
DataStream <...> input = ...
input.keyBy (...)
.window (...)
.apply(new WindowsFunction <... >() {
// ...
});
–MatthiasJ.Sax–WindowsinApacheFlink
17/21
Advanced Windowing Concepts
global windows (non-parallelized)
–MatthiasJ.Sax–WindowsinApacheFlink
17/21
Advanced Windowing Concepts
global windows (non-parallelized)
Triggers:
closes a window (i. e., fires)
processing time
watermark
count
delta
... (with different discarding strategies)
–MatthiasJ.Sax–WindowsinApacheFlink
17/21
Advanced Windowing Concepts
global windows (non-parallelized)
Triggers:
closes a window (i. e., fires)
processing time
watermark
count
delta
... (with different discarding strategies)
Evict:
removes tuple from window before function gets applied
time, count, delta
–MatthiasJ.Sax–WindowsinApacheFlink
17/21
Advanced Windowing Concepts
global windows (non-parallelized)
Triggers:
closes a window (i. e., fires)
processing time
watermark
count
delta
... (with different discarding strategies)
Evict:
removes tuple from window before function gets applied
time, count, delta
mix different windows/triggers/evictors
–MatthiasJ.Sax–WindowsinApacheFlink
18/21
Stateful Stream Processing
Flink can handle arbitrary user state:
state is store reliably
distributed snapshots algorithm
Example
public class CounterSum
implements RichReduceFunction <Long > {
private OperatorState <Long > counter;
public void open( Configuration config) {
counter = getRuntimeContext ()
. getOperatorState ("myCnt", Long.class , 0L);
}
public Long reduce(Long v1 , Long v2) throws Exception {
counter.update(counter.value () + 1);
return v1 + v2;
}
}
–MatthiasJ.Sax–WindowsinApacheFlink
19/21
Summary
The time-problem:
processing time vs. event time vs. ingestion time
time skew, out-of-order tuples, watermarks
–MatthiasJ.Sax–WindowsinApacheFlink
19/21
Summary
The time-problem:
processing time vs. event time vs. ingestion time
time skew, out-of-order tuples, watermarks
The window-question:
count-based vs. time-based
tumbling vs. overlapping
intermediate triggers
advanced windows (mix of above)
–MatthiasJ.Sax–WindowsinApacheFlink
20/21
Summary (cont.)
Flink provides a rich API (Java/Scala) to express different
semantics
state handling for arbitrary UDF code
fault-tolerance with exactly-once guarantees
exaclty-once sink available
–MatthiasJ.Sax–WindowsinApacheFlink
20/21
Summary (cont.)
Flink provides a rich API (Java/Scala) to express different
semantics
state handling for arbitrary UDF code
fault-tolerance with exactly-once guarantees
exaclty-once sink available
What else?
Python API is coming (right now DataSet only)
Google Dataflow on Flink
Storm on Flink
Apache SAMOA on Flink
dbisINSTITUT FÜR INFORMATIK
HUMBOLDT−UNIVERSITÄT ZU ERLINB
Feeding a Squirrel in Time—Windows in Flink
Apache Flink Meetup Munich
Thanks!

More Related Content

Similar to Feeding a Squirrel in Time---Windows in Flink

Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream Processing
Suneel Marthi
 
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Cloud Dataflow - A Unified Model for Batch and Streaming Data ProcessingCloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
Dataflow - A Unified Model for Batch and Streaming Data Processing
Dataflow - A Unified Model for Batch and Streaming Data ProcessingDataflow - A Unified Model for Batch and Streaming Data Processing
Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
Big Data Warsaw
Big Data WarsawBig Data Warsaw
Big Data Warsaw
Maximilian Michels
 
Stream processing with Apache Flink - Maximilian Michels Data Artisans
Stream processing with Apache Flink - Maximilian Michels Data ArtisansStream processing with Apache Flink - Maximilian Michels Data Artisans
Stream processing with Apache Flink - Maximilian Michels Data Artisans
Evention
 
Flink Forward 2016
Flink Forward 2016Flink Forward 2016
Flink Forward 2016
AMIDST Toolbox
 
Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...
Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...
Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...
Flink Forward
 
Flink meetup
Flink   meetupFlink   meetup
Flink meetup
Christos Hadjinikolis
 
Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das
Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das
Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das
Databricks
 
Flink Forward SF 2017: Kenneth Knowles - Back to Sessions overview
Flink Forward SF 2017: Kenneth Knowles - Back to Sessions overviewFlink Forward SF 2017: Kenneth Knowles - Back to Sessions overview
Flink Forward SF 2017: Kenneth Knowles - Back to Sessions overview
Flink Forward
 
Flink. Pure Streaming
Flink. Pure StreamingFlink. Pure Streaming
Flink. Pure Streaming
Indizen Technologies
 
BDW16 London - William Vambenepe, Google - 3rd Generation Data Platform
BDW16 London - William Vambenepe, Google - 3rd Generation Data PlatformBDW16 London - William Vambenepe, Google - 3rd Generation Data Platform
BDW16 London - William Vambenepe, Google - 3rd Generation Data Platform
Big Data Week
 
Concurrency with Go
Concurrency with GoConcurrency with Go
Concurrency with Go
Frank Müller
 
Flow based programming in golang
Flow based programming in golangFlow based programming in golang
Flow based programming in golang
Anton Stepanenko
 
Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)
Stephan Ewen
 
A Tale of Squirrels and Storms
A Tale of Squirrels and StormsA Tale of Squirrels and Storms
A Tale of Squirrels and Storms
Matthias J. Sax
 
Matthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and StormsMatthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and Storms
Flink Forward
 
HARD COPY REPORT CDAC
HARD COPY REPORT CDACHARD COPY REPORT CDAC
HARD COPY REPORT CDACSarthak Dubey
 
Time Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming PlatformTime Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming Platform
confluent
 
Time Series Analysis Using an Event Streaming Platform
 Time Series Analysis Using an Event Streaming Platform Time Series Analysis Using an Event Streaming Platform
Time Series Analysis Using an Event Streaming Platform
Dr. Mirko Kämpf
 

Similar to Feeding a Squirrel in Time---Windows in Flink (20)

Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream Processing
 
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Cloud Dataflow - A Unified Model for Batch and Streaming Data ProcessingCloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
 
Dataflow - A Unified Model for Batch and Streaming Data Processing
Dataflow - A Unified Model for Batch and Streaming Data ProcessingDataflow - A Unified Model for Batch and Streaming Data Processing
Dataflow - A Unified Model for Batch and Streaming Data Processing
 
Big Data Warsaw
Big Data WarsawBig Data Warsaw
Big Data Warsaw
 
Stream processing with Apache Flink - Maximilian Michels Data Artisans
Stream processing with Apache Flink - Maximilian Michels Data ArtisansStream processing with Apache Flink - Maximilian Michels Data Artisans
Stream processing with Apache Flink - Maximilian Michels Data Artisans
 
Flink Forward 2016
Flink Forward 2016Flink Forward 2016
Flink Forward 2016
 
Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...
Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...
Ana M Martinez - AMIDST Toolbox- Scalable probabilistic machine learning with...
 
Flink meetup
Flink   meetupFlink   meetup
Flink meetup
 
Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das
Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das
Apache Spark 2.0: A Deep Dive Into Structured Streaming - by Tathagata Das
 
Flink Forward SF 2017: Kenneth Knowles - Back to Sessions overview
Flink Forward SF 2017: Kenneth Knowles - Back to Sessions overviewFlink Forward SF 2017: Kenneth Knowles - Back to Sessions overview
Flink Forward SF 2017: Kenneth Knowles - Back to Sessions overview
 
Flink. Pure Streaming
Flink. Pure StreamingFlink. Pure Streaming
Flink. Pure Streaming
 
BDW16 London - William Vambenepe, Google - 3rd Generation Data Platform
BDW16 London - William Vambenepe, Google - 3rd Generation Data PlatformBDW16 London - William Vambenepe, Google - 3rd Generation Data Platform
BDW16 London - William Vambenepe, Google - 3rd Generation Data Platform
 
Concurrency with Go
Concurrency with GoConcurrency with Go
Concurrency with Go
 
Flow based programming in golang
Flow based programming in golangFlow based programming in golang
Flow based programming in golang
 
Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)
 
A Tale of Squirrels and Storms
A Tale of Squirrels and StormsA Tale of Squirrels and Storms
A Tale of Squirrels and Storms
 
Matthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and StormsMatthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and Storms
 
HARD COPY REPORT CDAC
HARD COPY REPORT CDACHARD COPY REPORT CDAC
HARD COPY REPORT CDAC
 
Time Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming PlatformTime Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming Platform
 
Time Series Analysis Using an Event Streaming Platform
 Time Series Analysis Using an Event Streaming Platform Time Series Analysis Using an Event Streaming Platform
Time Series Analysis Using an Event Streaming Platform
 

Recently uploaded

Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 

Recently uploaded (20)

Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 

Feeding a Squirrel in Time---Windows in Flink