SlideShare una empresa de Scribd logo
1 de 72
Descargar para leer sin conexión
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!

Más contenido relacionado

Similar a Apache Flink Windows

Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream ProcessingSuneel 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 ProcessingDoiT 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 ProcessingDoiT International
 
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 ArtisansEvention
 
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
 
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 overviewFlink Forward
 
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 PlatformBig Data Week
 
Flow based programming in golang
Flow based programming in golangFlow based programming in golang
Flow based programming in golangAnton 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
 
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 StormsFlink Forward
 
A Tale of Squirrels and Storms
A Tale of Squirrels and StormsA Tale of Squirrels and Storms
A Tale of Squirrels and StormsMatthias J. Sax
 
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 Platformconfluent
 
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 PlatformDr. Mirko Kämpf
 

Similar a Apache Flink Windows (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
 
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
 
Big Data Warsaw
Big Data WarsawBig Data Warsaw
Big Data Warsaw
 
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)
 
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
 
A Tale of Squirrels and Storms
A Tale of Squirrels and StormsA Tale of Squirrels and Storms
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
 

Último

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Último (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 

Apache Flink Windows