SlideShare a Scribd company logo
@GraphDevroom
Single-pass Graph Stream
Analytics with Apache Flink
Rethinking graph processing for dynamic data
Vasiliki Kalavri <vasia@apache.org>
Paris Carbone <senorcarbone@apache.org>
1
@GraphDevroom
Real Graphs are dynamic
Graphs created by events happening in real-time
• liking a post
• buying a book
• listening to a song
• rating a movie
• packet switching in computer networks
• bitcoin transactions
Each event adds an edge to the graph
2
@GraphDevroom
3
@GraphDevroom
In a batch world
We create and analyze a snapshot of the real graph
• all events / interactions / relationships that
happened between t0 and tn
• the Facebook social network on January 30 2016
• user web logs gathered between March 1st 12:00 and 16:00
• retweets and replies for 24h after the announcement of the
death of David Bowie
4
@GraphDevroom
Batch Graph Processing
5
@GraphDevroom
In a streaming world
• We receive and consume the events as they are
happening, in real-time
• We analyze the evolving graph and receive results
continuously
6
@GraphDevroom
7
Streaming Graph Processing
@GraphDevroom
8
Streaming Graph Processing
@GraphDevroom
9
Streaming Graph Processing
@GraphDevroom
10
Streaming Graph Processing
@GraphDevroom
11
Streaming Graph Processing
@GraphDevroom
12
Streaming Graph Processing
@GraphDevroom
13
Streaming Graph Processing
@GraphDevroom
14
Streaming Graph Processing
@GraphDevroom
15
Streaming Graph Processing
@GraphDevroom
16
Streaming Graph Processing
@GraphDevroom
17
Streaming Graph Processing
@GraphDevroom
Sounds expensive?
Challenges
• maintain the graph structure
• how to apply state updates efficiently?
• update the result
• re-run the analysis for each event?
• design an incremental algorithm?
• run separate instances on multiple snapshots?
• compute only on most recent events
18
@GraphDevroom
19
The Apache Flink Stack
APIs
Execution
DataStreamDataSet
Distributed Dataflow
Deployment
• Bounded Data Sources
• Structured Iterations
• Blocking Operations
• Unbounded Data Sources
• Asynchronous Iterations
• Incremental Operations
@GraphDevroom
Unifying Data Processing
Job Manager
• scheduling tasks
• monitoring/recovery
Client
• task pipelining
• blocking
• execution plan building
• optimisation
20
DataStreamDataSet
Distributed Dataflow
Deployment
HDFS
Kafka
DataSet<String> text =
env.readTextFile(“hdfs://…”);
text.map(…).groupReduce(…)…
DataStream<String> events =
env.addSource(new KafkaConsumer(…));
events.map(…).filter(…).window(…).fold(…)…
@GraphDevroom
Graph Processing on
Apache Flink
21
DataStreamDataSet
Distributed Dataflow
Deployment
Gelly
• Static Graphs
• Multi-Pass Algorithms
• Full Computations
DataStream
@GraphDevroom
Data Streams as ADTs
22
• Direct access to the
execution graph / topology
• Suitable for engineers
• Abstract Data Type
Transformations hide
operator details
• Suitable data analysts
and engineers
similar to: PCollection, DStream
DataStream
@GraphDevroom
Nature of a DataStream Job
23
• Tasks are long running in
a pipelined execution.
• State is kept within tasks.
• Transformations are
applied per-record or per-
window.
Execution Graph
unbounded
data sinks
unbounded
data sources
• operator parallelism
• stream partitioning
Execution Properties
@GraphDevroom
Working with DataStreams
24
Creation Transformations
DataStream<String> myStream =
-for supported data sources:
env.addSource(new FlinkKafkaConsumer<String>(…));
env.addSource(new RMQSource<String>(…));
env.addSource(new TwitterSource(propsFile));
env.socketTextStream(…);
-for testing:
env.fromCollection(…);
env.fromElements(…);
-for adding any custom source:
env.addSource(MyCustomSource(…));
Properties
myStream.setParallelism(3)
myStream.broadcast();
.rebalance();
.forward();
.keyBy(key);
partitioning
partition stream and operator state by key
myStream.map(…);
myStream.flatMap(…);
myStream.filter(…);
myStream.union(myOtherStream);
-for aggregations on partitioned-by-key streams:
myKeyStream.reduce(…);
myKeyStream.fold(…);
myKeyStream.sum(…);
@GraphDevroom
Example
25
env.setParallelism(2); //default parallelism
DataStream<Tuple2<String, Integer>> counts = env
.socketTextStream("localhost", 9999)
.flatMap(new Splitter()) //transformation
.keyBy(0) //partitioning
.sum(1) //rolling aggregation
.setParallelism(4);
counts.print();
“cool, gelly is cool”
<“gelly", 1>
<“is”, 1>
<“cool”,1>
<“cool”,1>
<“is”, 1> <“gelly”, 1>
<“cool”,2> <“cool”,1>
print
sum
flatMap
@GraphDevroom
Working with Windows
26
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!
#sec
40 80
SUM #2
0
SUM #1
20 60 100
#sec
40 80
SUM #3
SUM #2
0
SUM #1
20 60 100
120
15 38 65 88
15 38
38 65
65 88
15 38 65 88
110 120
myKeyStream.timeWindow(
Time.of(60, TimeUnit.SECONDS),
Time.of(20, TimeUnit.SECONDS));
1) Sliding windows
2) Tumbling windows
myKeyStream.timeWindow(
Time.of(60, TimeUnit.SECONDS));
window buckets/panes
@GraphDevroom
Example
27
env.setParallelism(2); //default parallelism
DataStream<Tuple2<String, Integer>> counts = env
.socketTextStream("localhost", 9999)
.flatMap(new Splitter()) //transformation
.keyBy(0) //partitioning
.window(Time.of(5, TimeUnit.MINUTES))
.sum(1) //rolling aggregation
.setParallelism(4);
counts.print();
10:48 - “cool, gelly is cool”
print
window sum
flatMap
11:01 - “dataflow is cool too”
<“gelly”,1>… <“cool”,2>
<“dataflow”,1>… <“cool”,1>
@GraphDevroom
Single-Pass Graph Streaming
with Windows
• Each event represents an edge addition
• Each edge is processed once and thrown away,
i.e. the graph structure is not explicitly maintained
• The state maintained corresponds to a graph
summary, a continuously improving property, an
aggregation
• Recent events can be grouped in a graph window
and processed independently
28
@GraphDevroom
What’s the benefit?
• Get results faster
• No need to wait for the job to finish
• Sometimes, early approximations are better than late exact
answers
• Get results continuously
• Process unbounded number of events
• Use less memory
• single-pass algorithms don’t store the graph structure
• run computations on a graph summary
29
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
30
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
31
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
32
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
33
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
34
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
35
@GraphDevroom
What can you do in this model?
• transformations, e.g. mapping, filtering vertex /
edge values, reverse edge direction
• continuous aggregations, e.g. degree distribution
36
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
Streaming Degrees Distribution#vertices
degree
37
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
#vertices
degree
Streaming Degrees Distribution
38
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
#vertices
degree
Streaming Degrees Distribution
39
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
#vertices
degree
Streaming Degrees Distribution
40
@GraphDevroom
1
43
2
5
6
7
8
Streaming Degrees Distribution
0
2
4
6
1 2 3 4
#vertices
degree
41
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
#vertices
degree
Streaming Degrees Distribution
42
@GraphDevroom
1
43
2
5
6
7
8
Streaming Degrees Distribution
0
2
4
6
1 2 3 4
#vertices
degree
43
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
#vertices
degree
Streaming Degrees Distribution
44
@GraphDevroom
1
43
2
5
6
7
8
Streaming Degrees Distribution
0
2
4
6
1 2 3 4
#vertices
degree
45
@GraphDevroom
1
43
2
5
6
7
8
0
2
4
6
1 2 3 4
#vertices
degree
Streaming Degrees Distribution
46
@GraphDevroom
What can you do in this model?
• spanners for distance estimation
• sparsifiers for cut estimation
• sketches for homomorphic properties
graph summary
algorithm algorithm~R1 R2
47
@GraphDevroom
What can you do in this model?
• neighborhood aggregations on windows, e.g.
triangle counting, clustering coefficient (no
iterations… yet!)
48
@GraphDevroom
Examples
49
@GraphDevroom
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
50
@GraphDevroom
1
43
2
5
6
7
8
i=0
Batch Connected Components
51
@GraphDevroom
1
43
2
5
6
7
8
i=1
3 4
1 4
4 5
2 4
1 2 4 5
7 8
6 8
6 7
1 1
2
6
6
Batch Connected Components
52
@GraphDevroom
1
11
2
2
6
6
6
i=2
1
1
1 2
1 2 6
6
6
1
1
Batch Connected Components
53
@GraphDevroom
1
11
1
1
6
6
6
i=3
Batch Connected Components
54
@GraphDevroom
Streaming 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
55
@GraphDevroom
31
52
54
76
86
ComponentID Vertices
1
43
2
5
6
7
8
56
@GraphDevroom
31
52
54
76
86
42
ComponentID Vertices
1 1, 3
1
43
2
5
6
7
8
57
@GraphDevroom
31
52
54
76
86
42
ComponentID Vertices
43
2 2, 5
1 1, 3
1
43
2
5
6
7
8
58
@GraphDevroom
31
52
54
76
86
42
43
87
ComponentID Vertices
2 2, 4, 5
1 1, 3
1
43
2
5
6
7
8
59
@GraphDevroom
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
60
@GraphDevroom
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
61
@GraphDevroom
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
62
@GraphDevroom
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
63
@GraphDevroom
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
64
@GraphDevroom
86
42
43
87
41
ComponentID Vertices
6 6, 7, 8
1 1, 2, 3, 4, 5
1
43
2
5
6
7
8
65
@GraphDevroom
42
43
87
41
ComponentID Vertices
6 6, 7, 8
1 1, 2, 3, 4, 5
1
43
2
5
6
7
8
66
@GraphDevroom
Distributed Streaming Connected
Components
67
@GraphDevroom
Streaming Bipartite Detection
Similar to connected components, but
• each vertex is also assigned a sign, (+) or (-)
• edge endpoints must have different signs
• when merging components, if flipping all signs doesn’t work =>
the graph is not bipartite
68
@GraphDevroom
1
43
2
5
6
7
(+) (-)
(+)
(-)
(+) (-)
(+)
Cid=1
Cid=5
Streaming Bipartite Detection
69
@GraphDevroom
3 5
1
43
2
5
6
7
(+) (-)
(+)
(-)
(+) (-)
(+)
Cid=1
Cid=5
Streaming Bipartite Detection
70
@GraphDevroom
3 5
1
43
2
5
6
7
(+) (-)
(+)
(-)
(+) (-)
(+)
Cid=1
Cid=5
Streaming Bipartite Detection
71
@GraphDevroom
Cid=1
1
43
2
5
6
7
(+) (-)
(-)(+)
(+) (-)
(-)
3 5
Streaming Bipartite Detection
72
@GraphDevroom
3 7
Cid=1
1
43
2
5
6
7
(+) (-)
(-)(+)
(+) (-)
(-)
Can’t flip signs and stay consistent
=> not bipartite!
Streaming Bipartite Detection
73
@GraphDevroom
The GraphStream
74
DataStreamDataSet
Distributed Dataflow
Deployment
Gelly Gelly-Stream
• Static Graphs
• Multi-Pass Algorithms
• Full Computations
• Dynamic Graphs
• Single-Pass Algorithms
• Incremental Computations
DataStream
@GraphDevroom
Introducing Gelly-Stream
75
• 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 (and iterations in the future)
@GraphDevroom
Graph Property Streams
76
A
B
C D
A B C D A CGraph Stream:
.getEdges()
.getVertices()
.numberOfVertices()
.numberOfEdges()
.getDegrees()
.inDegrees()
.outDegrees()
GraphStream -> DataStream
@GraphDevroom
.mapEdges();
.distinct();
.filterVertices();
.filterEdges();
.reverse();
.undirected();
.union();
Transform Graph Streams
77
A
B
C D
A B C D A CGraph Stream:
GraphStream -> GraphStream
@GraphDevroom
Graph Stream Aggregations
78
result
aggregate
property streamgraph
stream
(window) fold
combine
fold
reduce
partitioned
aggregates
global
aggregates
edges
agg
global aggregates
can be persistent or transient
graphStream.aggregate(new MyGraphAggregation(window, update, fold, combine, merge))
@GraphDevroom
Graph Stream Aggregations
79
result
aggregate
property stream
graph
stream
(window) fold
combine merge
graphStream.aggregate(new MyGraphAggregation(window, fold, combine, merge))
fold
reduce map
partitioned
aggregates
global
aggregates
edges
agg
@GraphDevroom
Connected Components
80
graph
stream
combine merge
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge))
reduce map
31
52
1
43
2
5
6
7
8
@GraphDevroom
Connected Components
81
graph
stream
combine merge
reduce map
{1,3}
{2,5}
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
82
graph
stream
combine merge
reduce map
{1,3}
{2,5}
54
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
83
graph
stream
combine merge
reduce map
{1,3}
{2,5}
{4,5}
76
86
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
84
graph
stream
combine merge
reduce map
{1,3}
{2,5}
{4,5}
{6,7}
{6,8}
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
85
graph
stream
combine merge
reduce map
TODO:: show blocking reduce instead?
{2,5}
{6,8}
{1,3}
{4,5}
{6,7}
3
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
86
graph
stream
combine merge
reduce map
{1,3}
{2,4,5}
{6,7,8}
3
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
87
graph
stream
combine merge
reduce map
{1,3}
{2,4,5}
{6,7,8}
3
42
43
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
88
graph
stream
combine merge
reduce map
{1,3}
{2,4,5}
{6,7,8}
3
{2,4}
{3,4}
41
87
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
89
graph
stream
combine merge
reduce map
{1,3}
{2,4,5}
{6,7,8}
3
{1,2,4}
{3,4}
{7,8}
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
90
graph
stream
combine merge
reduce map
{1,2,4,5}
{6,7,8}
2
{3,4}
{7,8}
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Connected Components
91
graph
stream
combine merge
reduce map
{1,2,3,4,5}
{6,7,8}
2
graphStream.aggregate(new ConnectedComponents(window, update, fold, combine, merge)) 1
43
2
5
6
7
8
@GraphDevroom
Slicing Graph Streams
92
graphStream.slice(Time.of(1, MINUTE));
11:40 11:41 11:42 11:43
@GraphDevroom
Aggregating Slices
93
graphStream.slice(Time.of(1, MINUTE), direction)
.reduceOnEdges();
.foldNeighbors();
.applyOnNeighbors();
• Slicing collocates edges by vertex
information
• Neighbourhood aggregations are now
enabled on sliced graphs
source
target
Aggregations
@GraphDevroom
Finding matches nearby
94
graphStream.slice(Time.of(1, MINUTE)).applyOnNeighbors(FindPairs())
slice applyOnNeighbors
TODO: make it more interactive with transitions
@GraphDevroom
Summary
• Many graph analysis problems can be covered in single-pass
• Processing dynamic graphs requires an incremental graph
processing model
• We introduce Gelly-Stream, a simple yet powerful library for
graph streams

More Related Content

What's hot (20)

PDF
Deep Stream Dynamic Graph Analytics with Grapharis - Massimo Perini
Flink Forward
 
PDF
Batch and Stream Graph Processing with Apache Flink
Vasia Kalavri
 
PDF
Self-managed and automatically reconfigurable stream processing
Vasia Kalavri
 
PPTX
Virtual Flink Forward 2020: Cogynt: Flink without code - Samantha Chan, Aslam...
Flink Forward
 
PDF
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Flink Forward
 
PPTX
An Introduction to Distributed Data Streaming
Paris Carbone
 
PDF
Tran Nam-Luc – Stale Synchronous Parallel Iterations on Flink
Flink Forward
 
PDF
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Flink Forward
 
PDF
Don't Cross The Streams - Data Streaming And Apache Flink
John Gorman (BSc, CISSP)
 
PPTX
Till Rohrmann – Fault Tolerance and Job Recovery in Apache Flink
Flink Forward
 
PDF
Reintroducing the Stream Processor: A universal tool for continuous data anal...
Paris Carbone
 
PPTX
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
Robert Metzger
 
PDF
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Flink Forward
 
PPTX
SICS: Apache Flink Streaming
Turi, Inc.
 
PPTX
Apache Flink: API, runtime, and project roadmap
Kostas Tzoumas
 
PPTX
Taking a look under the hood of Apache Flink's relational APIs.
Fabian Hueske
 
PPTX
Continuous Processing with Apache Flink - Strata London 2016
Stephan Ewen
 
PPTX
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Stephan Ewen
 
PPTX
Debunking Six Common Myths in Stream Processing
Kostas Tzoumas
 
PPTX
Real-time Stream Processing with Apache Flink
DataWorks Summit
 
Deep Stream Dynamic Graph Analytics with Grapharis - Massimo Perini
Flink Forward
 
Batch and Stream Graph Processing with Apache Flink
Vasia Kalavri
 
Self-managed and automatically reconfigurable stream processing
Vasia Kalavri
 
Virtual Flink Forward 2020: Cogynt: Flink without code - Samantha Chan, Aslam...
Flink Forward
 
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Flink Forward
 
An Introduction to Distributed Data Streaming
Paris Carbone
 
Tran Nam-Luc – Stale Synchronous Parallel Iterations on Flink
Flink Forward
 
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Flink Forward
 
Don't Cross The Streams - Data Streaming And Apache Flink
John Gorman (BSc, CISSP)
 
Till Rohrmann – Fault Tolerance and Job Recovery in Apache Flink
Flink Forward
 
Reintroducing the Stream Processor: A universal tool for continuous data anal...
Paris Carbone
 
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
Robert Metzger
 
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Flink Forward
 
SICS: Apache Flink Streaming
Turi, Inc.
 
Apache Flink: API, runtime, and project roadmap
Kostas Tzoumas
 
Taking a look under the hood of Apache Flink's relational APIs.
Fabian Hueske
 
Continuous Processing with Apache Flink - Strata London 2016
Stephan Ewen
 
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Stephan Ewen
 
Debunking Six Common Myths in Stream Processing
Kostas Tzoumas
 
Real-time Stream Processing with Apache Flink
DataWorks Summit
 

Similar to Single-Pass Graph Stream Analytics 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
 
PPTX
Stream processing - Apache flink
Renato Guimaraes
 
PDF
Large-scale graph processing with Apache Flink @GraphDevroom FOSDEM'15
Vasia Kalavri
 
PDF
Ling liu part 02:big graph processing
jins0618
 
PDF
Apache Flink & Graph Processing
Vasia Kalavri
 
PDF
Web-Scale Graph Analytics with Apache® Spark™
Databricks
 
PPTX
Trivento summercamp fast data 9/9/2016
Stavros Kontopoulos
 
PPTX
First Flink Bay Area meetup
Kostas Tzoumas
 
PPTX
Chicago Flink Meetup: Flink's streaming architecture
Robert Metzger
 
PDF
Challenging Web-Scale Graph Analytics with Apache Spark with Xiangrui Meng
Databricks
 
PDF
Challenging Web-Scale Graph Analytics with Apache Spark
Databricks
 
PDF
Baymeetup-FlinkResearch
Foo Sounds
 
PDF
GraphBolt
Mugilan Mariappan
 
PDF
GraphBolt: Dependency-Driven Synchronous Processing of Streaming Graphs
Mugilan Mariappan
 
PDF
The Analytics Frontier of the Hadoop Eco-System
inside-BigData.com
 
PDF
Large-Scale Stream Processing in the Hadoop Ecosystem
Gyula Fóra
 
PPTX
Web-Scale Graph Analytics with Apache Spark with Tim Hunter
Databricks
 
PPTX
Trivento summercamp masterclass 9/9/2016
Stavros Kontopoulos
 
PDF
Flink Streaming Berlin Meetup
Márton Balassi
 
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
 
Stream processing - Apache flink
Renato Guimaraes
 
Large-scale graph processing with Apache Flink @GraphDevroom FOSDEM'15
Vasia Kalavri
 
Ling liu part 02:big graph processing
jins0618
 
Apache Flink & Graph Processing
Vasia Kalavri
 
Web-Scale Graph Analytics with Apache® Spark™
Databricks
 
Trivento summercamp fast data 9/9/2016
Stavros Kontopoulos
 
First Flink Bay Area meetup
Kostas Tzoumas
 
Chicago Flink Meetup: Flink's streaming architecture
Robert Metzger
 
Challenging Web-Scale Graph Analytics with Apache Spark with Xiangrui Meng
Databricks
 
Challenging Web-Scale Graph Analytics with Apache Spark
Databricks
 
Baymeetup-FlinkResearch
Foo Sounds
 
GraphBolt: Dependency-Driven Synchronous Processing of Streaming Graphs
Mugilan Mariappan
 
The Analytics Frontier of the Hadoop Eco-System
inside-BigData.com
 
Large-Scale Stream Processing in the Hadoop Ecosystem
Gyula Fóra
 
Web-Scale Graph Analytics with Apache Spark with Tim Hunter
Databricks
 
Trivento summercamp masterclass 9/9/2016
Stavros Kontopoulos
 
Flink Streaming Berlin Meetup
Márton Balassi
 
Ad

More from Paris Carbone (8)

PDF
Continuous Intelligence - Intersecting Event-Based Business Logic and ML
Paris Carbone
 
PDF
Scalable and Reliable Data Stream Processing - Doctorate Seminar
Paris Carbone
 
PDF
Stream Loops on Flink - Reinventing the wheel for the streaming era
Paris Carbone
 
PDF
Asynchronous Epoch Commits for Fast and Reliable Data Stream Execution in Apa...
Paris Carbone
 
PDF
A Future Look of Data Stream Processing as an Architecture for AI
Paris Carbone
 
PDF
Continuous Deep Analytics
Paris Carbone
 
PDF
State Management in Apache Flink : Consistent Stateful Distributed Stream Pro...
Paris Carbone
 
PDF
Aggregate Sharing for User-Define Data Stream Windows
Paris Carbone
 
Continuous Intelligence - Intersecting Event-Based Business Logic and ML
Paris Carbone
 
Scalable and Reliable Data Stream Processing - Doctorate Seminar
Paris Carbone
 
Stream Loops on Flink - Reinventing the wheel for the streaming era
Paris Carbone
 
Asynchronous Epoch Commits for Fast and Reliable Data Stream Execution in Apa...
Paris Carbone
 
A Future Look of Data Stream Processing as an Architecture for AI
Paris Carbone
 
Continuous Deep Analytics
Paris Carbone
 
State Management in Apache Flink : Consistent Stateful Distributed Stream Pro...
Paris Carbone
 
Aggregate Sharing for User-Define Data Stream Windows
Paris Carbone
 
Ad

Recently uploaded (20)

PPT
intro to AI dfg fgh gggdrhre ghtwhg ewge
traineramrsiam
 
PPTX
Indigo dyeing Presentation (2).pptx as dye
shreeroop1335
 
PDF
Exploiting the Low Volatility Anomaly: A Low Beta Model Portfolio for Risk-Ad...
Bradley Norbom, CFA
 
PPTX
PPT2 W1L2.pptx.........................................
palicteronalyn26
 
PDF
Predicting Titanic Survival Presentation
praxyfarhana
 
PPTX
Model Evaluation & Visualisation part of a series of intro modules for data ...
brandonlee626749
 
PPTX
Monitoring Improvement ( Pomalaa Branch).pptx
fajarkunee
 
PDF
IT GOVERNANCE 4-2 - Information System Security (1).pdf
mdirfanuddin1322
 
PPTX
Krezentios memories in college data.pptx
notknown9
 
PDF
5- Global Demography Concepts _ Population Pyramids .pdf
pkhadka824
 
PDF
Kafka Use Cases Real-World Applications
Accentfuture
 
PDF
GOOGLE ADS (1).pdf THE ULTIMATE GUIDE TO
kushalkeshwanisou
 
PDF
A Web Repository System for Data Mining in Drug Discovery
IJDKP
 
PDF
Microsoft Power BI - Advanced Certificate for Business Intelligence using Pow...
Prasenjit Debnath
 
PPTX
Data Analytics using sparkabcdefghi.pptx
KarkuzhaliS3
 
PPTX
Project_Update_Summary.for the use from PM
Odysseas Lekatsas
 
DOCX
COT Feb 19, 2025 DLLgvbbnnjjjjjj_Digestive System and its Functions_PISA_CBA....
kayemorales1105
 
PDF
5991-5857_Agilent_MS_Theory_EN (1).pdf. pdf
NohaSalah45
 
PDF
Business Automation Solution with Excel 1.1.pdf
Vivek Kedia
 
intro to AI dfg fgh gggdrhre ghtwhg ewge
traineramrsiam
 
Indigo dyeing Presentation (2).pptx as dye
shreeroop1335
 
Exploiting the Low Volatility Anomaly: A Low Beta Model Portfolio for Risk-Ad...
Bradley Norbom, CFA
 
PPT2 W1L2.pptx.........................................
palicteronalyn26
 
Predicting Titanic Survival Presentation
praxyfarhana
 
Model Evaluation & Visualisation part of a series of intro modules for data ...
brandonlee626749
 
Monitoring Improvement ( Pomalaa Branch).pptx
fajarkunee
 
IT GOVERNANCE 4-2 - Information System Security (1).pdf
mdirfanuddin1322
 
Krezentios memories in college data.pptx
notknown9
 
5- Global Demography Concepts _ Population Pyramids .pdf
pkhadka824
 
Kafka Use Cases Real-World Applications
Accentfuture
 
GOOGLE ADS (1).pdf THE ULTIMATE GUIDE TO
kushalkeshwanisou
 
A Web Repository System for Data Mining in Drug Discovery
IJDKP
 
Microsoft Power BI - Advanced Certificate for Business Intelligence using Pow...
Prasenjit Debnath
 
Data Analytics using sparkabcdefghi.pptx
KarkuzhaliS3
 
Project_Update_Summary.for the use from PM
Odysseas Lekatsas
 
COT Feb 19, 2025 DLLgvbbnnjjjjjj_Digestive System and its Functions_PISA_CBA....
kayemorales1105
 
5991-5857_Agilent_MS_Theory_EN (1).pdf. pdf
NohaSalah45
 
Business Automation Solution with Excel 1.1.pdf
Vivek Kedia
 

Single-Pass Graph Stream Analytics with Apache Flink