SlideShare a Scribd company logo
Batch & Stream
Graph Processing
with Apache Flink
Vasia Kalavri
vasia@apache.org
@vkalavri
Apache Flink
• An open-source, distributed data analysis framework
• True streaming at its core
• Streaming & Batch API
2
Historic data
Kafka, RabbitMQ, ...
HDFS, JDBC, ...
Event logs
ETL, Graphs,

Machine Learning

Relational, …
Low latency,

windowing,
aggregations, ...
Integration (picture not complete)
POSIX Java/Scala

Collections
POSIX
Why Stream Processing?
• Most problems have streaming nature
• Stream processing gives lower latency
• Data volumes more easily tamed
4
Event stream
Batch and Streaming
Pipelined and

blocking operators Streaming Dataflow Runtime
Batch Parameters
DataSet DataStream
Relational

Optimizer
Window

Optimization
Pipelined and

windowed operators
Schedule lazily
Schedule eagerly
Recompute whole

operators Periodic checkpoints
Streaming data movement
Stateful operations
DAG recovery
Fully buffered streams DAG resource management
Streaming Parameters
Flink APIs
6
case class Word (word: String, frequency: Int)
val lines: DataStream[String] = env.readFromKafka(...)
lines.flatMap {line => line.split(" ").map(word => Word(word,1))}
.keyBy("word”).timeWindow(Time.of(5,SECONDS)).sum("frequency")
.print()
val lines: DataSet[String] = env.readTextFile(...)
lines.flatMap {line => line.split(" ").map(word => Word(word,1))}
.groupBy("word").sum("frequency”)
.print()
DataSet API (batch):
DataStream API (streaming):
Working with Windows
7
Why windows?
We are often interested in fresh data!15 38 65 88 110 120
#sec
40 80
SUM #2
0
SUM #1
20 60 100 120
15 38 65 88
1) Tumbling windows
myKeyStream.timeWindow(
Time.of(60, TimeUnit.SECONDS));
#sec
40 80
SUM #3
SUM #2
0
SUM #1
20 60 100
15 38
38 65
65 88
myKeyStream.timeWindow(
Time.of(60, TimeUnit.SECONDS),
Time.of(20, TimeUnit.SECONDS));
2) Sliding windows
window buckets/panes
Working with Windows
7
Why windows?
We are often interested in fresh data!
Highlight: Flink can form and trigger windows consistently
under different notions of time and deal with late events!
15 38 65 88 110 120
#sec
40 80
SUM #2
0
SUM #1
20 60 100 120
15 38 65 88
1) Tumbling windows
myKeyStream.timeWindow(
Time.of(60, TimeUnit.SECONDS));
#sec
40 80
SUM #3
SUM #2
0
SUM #1
20 60 100
15 38
38 65
65 88
myKeyStream.timeWindow(
Time.of(60, TimeUnit.SECONDS),
Time.of(20, TimeUnit.SECONDS));
2) Sliding windows
window buckets/panes
Flink Stack
Gelly
Table
ML
SAMOA
DataSet (Java/Scala) DataStream (Java/Scala)
HadoopM/R
Local Remote Yarn Embedded
Dataflow
Dataflow(WiP)
Table
Cascading
Streaming dataflow runtime
CEP
8
Gelly
the Flink Graph API
Meet Gelly
• Java & Scala Graph APIs on top of Flink
• graph transformations and utilities
• iterative graph processing
• library of graph algorithms
• Can be seamlessly mixed with the DataSet Flink
API to easily implement applications that use
both record-based and graph-based analysis
10
Hello, Gelly!
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<Edge<Long, NullValue>> edges = getEdgesDataSet(env);
Graph<Long, Long, NullValue> graph = Graph.fromDataSet(edges, env);
DataSet<Vertex<Long, Long>> verticesWithMinIds = graph.run(
new ConnectedComponents(maxIterations));
val env = ExecutionEnvironment.getExecutionEnvironment
val edges: DataSet[Edge[Long, NullValue]] = getEdgesDataSet(env)
val graph = Graph.fromDataSet(edges, env)
val components = graph.run(new ConnectedComponents(maxIterations))
Java
Scala
11
Graph Methods
Graph Properties
getVertexIds
getEdgeIds
numberOfVertices
numberOfEdges
getDegrees
...
12
Transformations
map, filter, join
subgraph, union,
difference
reverse, undirected
getTriplets
Mutations
add vertex/edge
remove vertex/edge
Neighborhood Methods
graph.reduceOnNeighbors(new MinValue, EdgeDirection.OUT)
13
Iterative Graph Processing
• Gelly offers iterative graph processing abstractions
on top of Flink’s Delta iterations
• Based on the BSP, vertex-centric model
• scatter-gather
• gather-sum-apply
• vertex-centric (pregel)*
• partition-centric*
14
Scatter-Gather Iterations
• MessagingFunction:
generate message for
other vertices
• VertexUpdateFunction:
update vertex value based
on received messages
15
Scatter Gather
Gather-Sum-Apply Iterations
• Gather: compute one
value per edge
• Sum: combine the
partial values of Gather
to a single value
• Apply: update the vertex
value, based on the Sum
and the current value
16
Gather ApplySum
Library of Algorithms
• PageRank*
• Single Source Shortest Paths*
• Label Propagation
• Weakly Connected Components*
• Community Detection
• Triangle Count & Enumeration
• Graph Summarization
• val ranks = inputGraph.run(new PageRank(0.85, 20))
• *: both scatter-gather and GSA implementations
17
Gelly-Stream
single-pass stream graph
processing with Flink
Real Graphs are dynamic
Graphs are created from events happening in real-time
19
20
20
20
20
20
20
20
20
20
Gelly on Streams
21
DataStreamDataSet
Distributed Dataflow
Deployment
DataStream
Gelly on Streams
21
DataStreamDataSet
Distributed Dataflow
Deployment
Gelly
• Static Graphs
• Multi-Pass Algorithms
• Full Computations
DataStream
Gelly on Streams
21
DataStreamDataSet
Distributed Dataflow
Deployment
Gelly Gelly-Stream
• Static Graphs
• Multi-Pass Algorithms
• Full Computations
DataStream
Gelly on Streams
21
DataStreamDataSet
Distributed Dataflow
Deployment
Gelly Gelly-Stream
• Static Graphs
• Multi-Pass Algorithms
• Full Computations
• Dynamic Graphs
• Single-Pass Algorithms
• Approximate Computations
DataStream
Batch vs. Stream Graph
Processing
22
Batch Stream
Input Graph static dynamic
Analysis on a snapshot continuous
Response
after job
completion
immediately
Graph Streaming Challenges
• Maintain the graph structure
• How to apply state updates efficiently?
• Result updates
• Re-run the analysis for each event?
• Design an incremental algorithm?
• Run separate instances on multiple snapshots?
• Computation on most recent events only
23
Single-Pass Graph Streaming
• Each event is an edge addition
• Maintain only a graph summary
• Recent events are grouped in graph
windows
24
Graph Summaries
• spanners for distance estimation
• sparsifiers for cut estimation
• sketches for homomorphic properties
graph summary
algorithm algorithm~R1 R2
25
Examples
Batch Connected Components
• State: the graph and a component ID per vertex
(initially equal to vertex ID)
• Iterative Computation: For each vertex:
• choose the min of neighbors’ component IDs and own
component ID as new ID
• if component ID changed since last iteration, notify neighbors
27
1
43
2
5
6
7
8
i=0
Batch Connected Components
28
1
11
2
2
6
6
6
i=1
Batch Connected Components
29
1
11
1
5
6
6
6
i=2
Batch Connected Components
30
1
1
11
1
1
6
6
6
i=3
Batch Connected Components
31
Stream Connected Components
• State: a disjoint set data structure for the
components
• Computation: For each edge
• if seen for the 1st time, create a component with ID the min of
the vertex IDs
• if in different components, merge them and update the
component ID to the min of the component IDs
• if only one of the endpoints belongs to a component, add the
other one to the same component
32
31
52
54
76
86
ComponentID Vertices
1
43
2
5
6
7
8
33
31
52
54
76
86
42
ComponentID Vertices
1 1, 3
1
43
2
5
6
7
8
34
31
52
54
76
86
42
ComponentID Vertices
43
2 2, 5
1 1, 3
1
43
2
5
6
7
8
35
31
52
54
76
86
42
43
87
ComponentID Vertices
2 2, 4, 5
1 1, 3
1
43
2
5
6
7
8
36
31
52
54
76
86
42
43
87
41
ComponentID Vertices
2 2, 4, 5
1 1, 3
6 6, 7
1
43
2
5
6
7
8
37
52
54
76
86
42
43
87
41
ComponentID Vertices
2 2, 4, 5
1 1, 3
6 6, 7, 8
1
43
2
5
6
7
8
38
54
76
86
42
43
87
41 ComponentID Vertices
2 2, 4, 5
1 1, 3
6 6, 7, 8
1
43
2
5
6
7
8
39
76
86
42
43
87
41
ComponentID Vertices
2 2, 4, 5
1 1, 3
6 6, 7, 8
1
43
2
5
6
7
8
40
76
86
42
43
87
41
ComponentID Vertices
6 6, 7, 8
1 1, 2, 3, 4, 5
1
43
2
5
6
7
8
41
86
42
43
87
41
ComponentID Vertices
6 6, 7, 8
1 1, 2, 3, 4, 5
1
43
2
5
6
7
8
42
42
43
87
41
ComponentID Vertices
6 6, 7, 8
1 1, 2, 3, 4, 5
1
43
2
5
6
7
8
43
Distributed Stream Connected
Components
44
API Requirements
• Continuous aggregations on edge
streams
• Global graph aggregations
• Support for windowing
45
Introducing Gelly-Stream
46
Gelly-Stream enriches the DataStream API with two new additional ADTs:
• GraphStream:
• A representation of a data stream of edges.
• Edges can have state (e.g. weights).
• Supports property streams, transformations and aggregations.
• GraphWindow:
• A “time-slice” of a graph stream.
• It enables neighborhood aggregations
GraphStream Operations
47
.getEdges()
.getVertices()
.numberOfVertices()
.numberOfEdges()
.getDegrees()
.inDegrees()
.outDegrees()
GraphStream -> DataStream
.mapEdges();
.distinct();
.filterVertices();
.filterEdges();
.reverse();
.undirected();
.union();
GraphStream -> GraphStream
Property Streams Transformations
Graph Stream Aggregations
48
result
aggregate
property streamgraph
stream
(window) fold
combine
fold
reduce
local
summaries
global
summary
edges
agg
global aggregates
can be persistent or transient
graphStream.aggregate(
new MyGraphAggregation(window, fold, combine, transform))
Graph Stream Aggregations
49
result
aggregate
property stream
graph
stream
(window) fold
combine transform
fold
reduce map
local
summaries
global
summary
edges
agg
graphStream.aggregate(
new MyGraphAggregation(window, fold, combine, transform))
Connected Components
50
graph
stream #components
Connected Components
50
graph
stream
1
43
2
5
6
7
8
#components
Connected Components
50
graph
stream
31
52
1
43
2
5
6
7
8
#components
Connected Components
51
graph
stream
{1,3}
{2,5}
1
43
2
5
6
7
8
#components
Connected Components
52
graph
stream
{1,3}
{2,5}
54
1
43
2
5
6
7
8
#components
Connected Components
53
graph
stream
{1,3}
{2,5}
{4,5}
76
86
1
43
2
5
6
7
8
#components
Connected Components
54
graph
stream
{1,3}
{2,5}
{4,5}
{6,7}
{6,8}
1
43
2
5
6
7
8
#components
Connected Components
54
graph
stream
{1,3}
{2,5}
{4,5}
{6,7}
{6,8}
1
43
2
5
6
7
8
#components
window
triggers
Connected Components
55
graph
stream
{2,5}
{6,8}
{1,3}
{4,5}
{6,7}
1
43
2
5
6
7
8
#components
Connected Components
55
graph
stream
{2,5}
{6,8}
{1,3}
{4,5}
{6,7}
3
1
43
2
5
6
7
8
#components
Connected Components
56
graph
stream
{1,3}
{2,4,5}
{6,7,8}
1
43
2
5
6
7
8
#components
Connected Components
56
graph
stream
{1,3}
{2,4,5}
{6,7,8}
3
1
43
2
5
6
7
8
#components
Connected Components
57
graph
stream
{1,3}
{2,4,5}
{6,7,8}
42
43
1
43
2
5
6
7
8
#components
Connected Components
58
graph
stream
{1,3}
{2,4,5}
{6,7,8}{2,4}
{3,4}
41
87
1
43
2
5
6
7
8
#components
Connected Components
59
graph
stream
{1,3}
{2,4,5}
{6,7,8}{1,2,4}
{3,4}
{7,8}
1
43
2
5
6
7
8
#components
Connected Components
59
graph
stream
{1,3}
{2,4,5}
{6,7,8}{1,2,4}
{3,4}
{7,8}
1
43
2
5
6
7
8
#components
window
triggers
Connected Components
60
graph
stream
{1,2,4,5}
{6,7,8}
{3,4}
{7,8}
1
43
2
5
6
7
8
#components
Connected Components
60
graph
stream
{1,2,4,5}
{6,7,8}
2
{3,4}
{7,8}
1
43
2
5
6
7
8
#components
Connected Components
61
graph
stream
{1,2,3,4,5}
{6,7,8}
1
43
2
5
6
7
8
#components
Connected Components
61
graph
stream
{1,2,3,4,5}
{6,7,8}
2
1
43
2
5
6
7
8
#components
Slicing Graph Streams
62
graphStream.slice(Time.of(1, MINUTE));
11:40 11:41 11:42 11:43
Aggregating Slices
63
graphStream.slice(Time.of(1, MINUTE), direction)
• Slicing collocates edges by vertex
information
• Neighborhood aggregations on sliced
graphs
source
target
Aggregating Slices
63
graphStream.slice(Time.of(1, MINUTE), direction)
• Slicing collocates edges by vertex
information
• Neighborhood aggregations on sliced
graphs
source
target
Aggregating Slices
63
graphStream.slice(Time.of(1, MINUTE), direction)
.reduceOnEdges();
.foldNeighbors();
.applyOnNeighbors();
• Slicing collocates edges by vertex
information
• Neighborhood aggregations on sliced
graphs
source
target
Aggregations
Finding Matches Nearby
64
Finding Matches Nearby
64
graphStream.filterVertices(GraphGeeks())
.slice(Time.of(15, MINUTE), EdgeDirection.IN)
.applyOnNeighbors(FindPairs())
GraphStream :: graph geek check-ins
wendy checked_in soap_bar
steve checked_in soap_bar
tom checked_in joe’s_grill
sandra checked_in soap_bar
rafa checked_in joe’s_grill
Finding Matches Nearby
64
graphStream.filterVertices(GraphGeeks())
.slice(Time.of(15, MINUTE), EdgeDirection.IN)
.applyOnNeighbors(FindPairs())
slice
GraphStream :: graph geek check-ins
wendy checked_in soap_bar
steve checked_in soap_bar
tom checked_in joe’s_grill
sandra checked_in soap_bar
rafa checked_in joe’s_grill
wendy
steve
sandra
soap
bar
tom
rafa
joe’s
grill
GraphWindow :: user-place
Finding Matches Nearby
64
graphStream.filterVertices(GraphGeeks())
.slice(Time.of(15, MINUTE), EdgeDirection.IN)
.applyOnNeighbors(FindPairs())
slice
GraphStream :: graph geek check-ins
wendy checked_in soap_bar
steve checked_in soap_bar
tom checked_in joe’s_grill
sandra checked_in soap_bar
rafa checked_in joe’s_grill
wendy
steve
sandra
soap
bar
tom
rafa
joe’s
grill
FindPairs
{wendy, steve}
{steve, sandra}
{wendy, sandra}
{tom, rafa}
GraphWindow :: user-place
What’s next?
• Integration with Neo4j (Input / Output)
• OpenCypher on Flink/Gelly
• Pregel and Partition-Centric Iterations
• Integration with Graphalytics
Feeling Gelly?
• Gelly Guide
https://ci.apache.org/projects/flink/flink-docs-master/libs/gelly_guide.html
• Gelly-Stream Repository
https://github.com/vasia/gelly-streaming
• Gelly-Stream talk @FOSDEM16
https://fosdem.org/2016/schedule/event/graph_processing_apache_flink/
• An interesting read
http://people.cs.umass.edu/~mcgregor/papers/13-graphsurvey.pdf
• A cool thesis
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-170425

More Related Content

What's hot (20)

PDF
Making Apache Spark Better with Delta Lake
Databricks
 
PPTX
Spark
Heena Madan
 
PDF
Productizing Structured Streaming Jobs
Databricks
 
PDF
Fundamentals of Apache Kafka
Chhavi Parasher
 
PDF
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Kai Wähner
 
PDF
Apache Iceberg - A Table Format for Hige Analytic Datasets
Alluxio, Inc.
 
PDF
Apache Kafka - Martin Podval
Martin Podval
 
PDF
Spark shuffle introduction
colorant
 
PDF
Trino: A Ludicrously Fast Query Engine - Pulsar Summit NA 2021
StreamNative
 
PPTX
Apache Kafka
Saroj Panyasrivanit
 
PPTX
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Flink Forward
 
PDF
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
PPTX
APACHE KAFKA / Kafka Connect / Kafka Streams
Ketan Gote
 
PPTX
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
Flink Forward
 
PDF
Spark with Delta Lake
Knoldus Inc.
 
PPTX
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
StreamNative
 
PDF
Batch Processing at Scale with Flink & Iceberg
Flink Forward
 
PDF
Apache Hudi: The Path Forward
Alluxio, Inc.
 
PPSX
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
Rahul K Chauhan
 
PDF
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Databricks
 
Making Apache Spark Better with Delta Lake
Databricks
 
Productizing Structured Streaming Jobs
Databricks
 
Fundamentals of Apache Kafka
Chhavi Parasher
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Kai Wähner
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Alluxio, Inc.
 
Apache Kafka - Martin Podval
Martin Podval
 
Spark shuffle introduction
colorant
 
Trino: A Ludicrously Fast Query Engine - Pulsar Summit NA 2021
StreamNative
 
Apache Kafka
Saroj Panyasrivanit
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Flink Forward
 
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
APACHE KAFKA / Kafka Connect / Kafka Streams
Ketan Gote
 
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
Flink Forward
 
Spark with Delta Lake
Knoldus Inc.
 
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
StreamNative
 
Batch Processing at Scale with Flink & Iceberg
Flink Forward
 
Apache Hudi: The Path Forward
Alluxio, Inc.
 
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
Rahul K Chauhan
 
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Databricks
 

Viewers also liked (20)

PDF
Apache Flink & Graph Processing
Vasia Kalavri
 
PDF
Large-scale graph processing with Apache Flink @GraphDevroom FOSDEM'15
Vasia Kalavri
 
PDF
Gelly-Stream: Single-Pass Graph Streaming Analytics with Apache Flink
Vasia Kalavri
 
PDF
Gradoop: Scalable Graph Analytics with Apache Flink @ Flink & Neo4j Meetup Be...
Martin Junghanns
 
PDF
The shortest path is not always a straight line
Vasia Kalavri
 
PDF
Gelly in Apache Flink Bay Area Meetup
Vasia Kalavri
 
PDF
Graphs as Streams: Rethinking Graph Processing in the Streaming Era
Vasia Kalavri
 
PPTX
Apache Flink at Strata San Jose 2016
Kostas Tzoumas
 
PPTX
Continuous Processing with Apache Flink - Strata London 2016
Stephan Ewen
 
PDF
Demystifying Distributed Graph Processing
Vasia Kalavri
 
PPTX
Flink vs. Spark
Slim Baltagi
 
PDF
Trade-offs in Processing Large Graphs: Representations, Storage, Systems and ...
Deepak Ajwani
 
PDF
Stream Processing with Apache Flink
C4Media
 
PDF
Distributed Graph Analytics with Gradoop
Martin Junghanns
 
PPTX
informatica mdm training | best informatica mdm Online training - GOT
Global Online Trainings
 
PDF
HadoopCon'16, Taipei @myui
Makoto Yui
 
PPTX
Informatica mdm online training
enrollmy training
 
PDF
Block Sampling: Efficient Accurate Online Aggregation in MapReduce
Vasia Kalavri
 
PDF
Big data processing systems research
Vasia Kalavri
 
PDF
Asymmetry in Large-Scale Graph Analysis, Explained
Vasia Kalavri
 
Apache Flink & Graph Processing
Vasia Kalavri
 
Large-scale graph processing with Apache Flink @GraphDevroom FOSDEM'15
Vasia Kalavri
 
Gelly-Stream: Single-Pass Graph Streaming Analytics with Apache Flink
Vasia Kalavri
 
Gradoop: Scalable Graph Analytics with Apache Flink @ Flink & Neo4j Meetup Be...
Martin Junghanns
 
The shortest path is not always a straight line
Vasia Kalavri
 
Gelly in Apache Flink Bay Area Meetup
Vasia Kalavri
 
Graphs as Streams: Rethinking Graph Processing in the Streaming Era
Vasia Kalavri
 
Apache Flink at Strata San Jose 2016
Kostas Tzoumas
 
Continuous Processing with Apache Flink - Strata London 2016
Stephan Ewen
 
Demystifying Distributed Graph Processing
Vasia Kalavri
 
Flink vs. Spark
Slim Baltagi
 
Trade-offs in Processing Large Graphs: Representations, Storage, Systems and ...
Deepak Ajwani
 
Stream Processing with Apache Flink
C4Media
 
Distributed Graph Analytics with Gradoop
Martin Junghanns
 
informatica mdm training | best informatica mdm Online training - GOT
Global Online Trainings
 
HadoopCon'16, Taipei @myui
Makoto Yui
 
Informatica mdm online training
enrollmy training
 
Block Sampling: Efficient Accurate Online Aggregation in MapReduce
Vasia Kalavri
 
Big data processing systems research
Vasia Kalavri
 
Asymmetry in Large-Scale Graph Analysis, Explained
Vasia Kalavri
 
Ad

Similar to Batch and Stream Graph Processing with Apache Flink (20)

PDF
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Seattle Apache Flink Meetup
 
PDF
Approximate queries and graph streams on Flink, theodore vasiloudis, seattle...
Bowen Li
 
PDF
Flink Gelly - Karlsruhe - June 2015
Andra Lungu
 
PDF
Single-Pass Graph Stream Analytics with Apache Flink
Paris Carbone
 
PPTX
Stream processing - Apache flink
Renato Guimaraes
 
PPTX
First Flink Bay Area meetup
Kostas Tzoumas
 
PPTX
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
Robert Metzger
 
PDF
Baymeetup-FlinkResearch
Foo Sounds
 
PDF
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Flink Forward
 
PPTX
Chicago Flink Meetup: Flink's streaming architecture
Robert Metzger
 
PPTX
Apache Flink Deep Dive
DataWorks Summit
 
PPTX
Apache Flink Deep-Dive @ Hadoop Summit 2015 in San Jose, CA
Robert Metzger
 
PPTX
Flexible and Real-Time Stream Processing with Apache Flink
DataWorks Summit
 
PPTX
Overview of Apache Flink: Next-Gen Big Data Analytics Framework
Slim Baltagi
 
PDF
Data Stream Analytics - Why they are important
Paris Carbone
 
PPTX
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
Robert Metzger
 
PPTX
Introduction to Apache Flink at Vienna Meet Up
Stefan Papp
 
PPTX
Flink Streaming Hadoop Summit San Jose
Kostas Tzoumas
 
PDF
Flink Streaming Berlin Meetup
Márton Balassi
 
PPTX
Apache Flink Overview at SF Spark and Friends
Stephan Ewen
 
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Seattle Apache Flink Meetup
 
Approximate queries and graph streams on Flink, theodore vasiloudis, seattle...
Bowen Li
 
Flink Gelly - Karlsruhe - June 2015
Andra Lungu
 
Single-Pass Graph Stream Analytics with Apache Flink
Paris Carbone
 
Stream processing - Apache flink
Renato Guimaraes
 
First Flink Bay Area meetup
Kostas Tzoumas
 
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
Robert Metzger
 
Baymeetup-FlinkResearch
Foo Sounds
 
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Flink Forward
 
Chicago Flink Meetup: Flink's streaming architecture
Robert Metzger
 
Apache Flink Deep Dive
DataWorks Summit
 
Apache Flink Deep-Dive @ Hadoop Summit 2015 in San Jose, CA
Robert Metzger
 
Flexible and Real-Time Stream Processing with Apache Flink
DataWorks Summit
 
Overview of Apache Flink: Next-Gen Big Data Analytics Framework
Slim Baltagi
 
Data Stream Analytics - Why they are important
Paris Carbone
 
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
Robert Metzger
 
Introduction to Apache Flink at Vienna Meet Up
Stefan Papp
 
Flink Streaming Hadoop Summit San Jose
Kostas Tzoumas
 
Flink Streaming Berlin Meetup
Márton Balassi
 
Apache Flink Overview at SF Spark and Friends
Stephan Ewen
 
Ad

More from Vasia Kalavri (9)

PDF
From data stream management to distributed dataflows and beyond
Vasia Kalavri
 
PDF
Self-managed and automatically reconfigurable stream processing
Vasia Kalavri
 
PDF
Predictive Datacenter Analytics with Strymon
Vasia Kalavri
 
PDF
Online performance analysis of distributed dataflow systems (O'Reilly Velocit...
Vasia Kalavri
 
PDF
Like a Pack of Wolves: Community Structure of Web Trackers
Vasia Kalavri
 
PDF
m2r2: A Framework for Results Materialization and Reuse
Vasia Kalavri
 
PDF
MapReduce: Optimizations, Limitations, and Open Issues
Vasia Kalavri
 
PDF
A Skype case study (2011)
Vasia Kalavri
 
PDF
Apache Flink Deep Dive
Vasia Kalavri
 
From data stream management to distributed dataflows and beyond
Vasia Kalavri
 
Self-managed and automatically reconfigurable stream processing
Vasia Kalavri
 
Predictive Datacenter Analytics with Strymon
Vasia Kalavri
 
Online performance analysis of distributed dataflow systems (O'Reilly Velocit...
Vasia Kalavri
 
Like a Pack of Wolves: Community Structure of Web Trackers
Vasia Kalavri
 
m2r2: A Framework for Results Materialization and Reuse
Vasia Kalavri
 
MapReduce: Optimizations, Limitations, and Open Issues
Vasia Kalavri
 
A Skype case study (2011)
Vasia Kalavri
 
Apache Flink Deep Dive
Vasia Kalavri
 

Recently uploaded (20)

PPTX
apidays Helsinki & North 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (A...
apidays
 
PPTX
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
PPTX
01_Nico Vincent_Sailpeak.pptx_AI_Barometer_2025
FinTech Belgium
 
PDF
Simplifying Document Processing with Docling for AI Applications.pdf
Tamanna36
 
PPTX
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
PPT
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
PDF
Research Methodology Overview Introduction
ayeshagul29594
 
PPTX
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
PPTX
BinarySearchTree in datastructures in detail
kichokuttu
 
PDF
OPPOTUS - Malaysias on Malaysia 1Q2025.pdf
Oppotus
 
PDF
apidays Singapore 2025 - The API Playbook for AI by Shin Wee Chuang (PAND AI)
apidays
 
PDF
apidays Singapore 2025 - Surviving an interconnected world with API governanc...
apidays
 
PDF
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
PPTX
apidays Singapore 2025 - Generative AI Landscape Building a Modern Data Strat...
apidays
 
PDF
apidays Singapore 2025 - Streaming Lakehouse with Kafka, Flink and Iceberg by...
apidays
 
PDF
Using AI/ML for Space Biology Research
VICTOR MAESTRE RAMIREZ
 
PDF
apidays Singapore 2025 - Trustworthy Generative AI: The Role of Observability...
apidays
 
PPTX
apidays Singapore 2025 - From Data to Insights: Building AI-Powered Data APIs...
apidays
 
PDF
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
PPTX
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 
apidays Helsinki & North 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (A...
apidays
 
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
01_Nico Vincent_Sailpeak.pptx_AI_Barometer_2025
FinTech Belgium
 
Simplifying Document Processing with Docling for AI Applications.pdf
Tamanna36
 
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
Research Methodology Overview Introduction
ayeshagul29594
 
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
BinarySearchTree in datastructures in detail
kichokuttu
 
OPPOTUS - Malaysias on Malaysia 1Q2025.pdf
Oppotus
 
apidays Singapore 2025 - The API Playbook for AI by Shin Wee Chuang (PAND AI)
apidays
 
apidays Singapore 2025 - Surviving an interconnected world with API governanc...
apidays
 
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
apidays Singapore 2025 - Generative AI Landscape Building a Modern Data Strat...
apidays
 
apidays Singapore 2025 - Streaming Lakehouse with Kafka, Flink and Iceberg by...
apidays
 
Using AI/ML for Space Biology Research
VICTOR MAESTRE RAMIREZ
 
apidays Singapore 2025 - Trustworthy Generative AI: The Role of Observability...
apidays
 
apidays Singapore 2025 - From Data to Insights: Building AI-Powered Data APIs...
apidays
 
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 

Batch and Stream Graph Processing with Apache Flink