SlideShare ist ein Scribd-Unternehmen logo
1 von 87
Downloaden Sie, um offline zu lesen
dbisINSTITUT FÜR INFORMATIK
HUMBOLDT−UNIVERSITÄT ZU ERLINB
A Tale of Squirrels and Storms
Flink Forward 2015
Matthias J. Sax
mjsax@{informatik.hu-berlin.de|apache.org}
@MatthiasJSax
Humboldt-Universit¨at zu Berlin
Department of Computer Science
October 13st
2015
–MatthiasJ.Sax–SquirrelsandStorms
1/22
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
Flink and Storm
vs.
Flink and Storm
Flinkvs.Storm
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
low latencies ( 100ms)
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
low latencies ( 100ms)
executing data flow programs
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
low latencies ( 100ms)
executing data flow programs
parallel and distributed
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
low latencies ( 100ms)
executing data flow programs
parallel and distributed
fault-tolerant
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
low latencies ( 100ms)
executing data flow programs
parallel and distributed
fault-tolerant
cloud or cluster environment
–MatthiasJ.Sax–SquirrelsandStorms
3/22
Similarities of Flink and Storm
true stream processing engines (no micro-batching)
low latencies ( 100ms)
executing data flow programs
parallel and distributed
fault-tolerant
cloud or cluster environment
Trident:
similar Java API
exactly-once processing
–MatthiasJ.Sax–SquirrelsandStorms
4/22
Flink vs. Storm
Advantages of Storm:
super low latency (< 10ms)
very robust:
stateless JVM for easy restart on failure
Zookeeper manages cluster state
isolation of topology
dynamic scaling (to some extent)
multi-language protocol (for experts only)
distributed RPC
–MatthiasJ.Sax–SquirrelsandStorms
5/22
Flink vs. Storm
Advantages of Flink:1
richer API
Java and Scala
type safe programs
system is aware of multiple input streams
ordered stream processing
system and user timestamps
count/time and customized windows
stateful processing
light weight fault-tolerance
Chandy-Lamport distributed snapshots
1
http:
//data-artisans.com/real-time-stream-processing-the-next-step-for-apache-flink/
–MatthiasJ.Sax–SquirrelsandStorms
6/22
Flink vs. Storm
Advantages of Flink (cont.):
provides exactly-once sinks
native flow control (back pressure)2
higher throughput (> x 100)3
no lambda or kappa architecture necessary
native support for iterations (cyclic data flows)
managed memory
2
http://data-artisans.com/how-flink-handles-backpressure/
3
http://data-artisans.com/
high-throughput-low-latency-and-exactly-once-stream-processing-with-apache-flink/
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
Supervisor
Supervisor
Supervisor
Supervisor
Supervisor
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
Supervisor
Supervisor
Supervisor
Supervisor
Supervisor
Zookeeper
Zookeeper
Zookeeper
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
Supervisor
Supervisor
Supervisor
Supervisor
Supervisor
Zookeeper
Zookeeper
Zookeeper
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
Supervisor
Supervisor
Supervisor
Supervisor
Supervisor
Zookeeper
Zookeeper
Zookeeper
Worker
Worker
Worker
Worker
Worker
Worker
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
Supervisor
Supervisor
Supervisor
Supervisor
Supervisor
Zookeeper
Zookeeper
Zookeeper
Worker
Worker
Worker
Worker
Worker
Worker
–MatthiasJ.Sax–SquirrelsandStorms
7/22
System Architecture: Storm
Nimbus
Client
Supervisor
Supervisor
Supervisor
Supervisor
Supervisor
Zookeeper
Zookeeper
Zookeeper
Worker
Worker
Worker
Worker
Worker
Worker
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
JobManager
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
JobManager
WebClientCLI Shell
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
JobManager
WebClientCLI Shell
TaskManager
TaskManager
TaskManager
TaskManager
TaskManager
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
JobManager
WebClientCLI Shell
TaskManager
TaskManager
TaskManager
TaskManager
TaskManager
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
JobManager
WebClientCLI Shell
TaskManager
TaskManager
TaskManager
TaskManager
TaskManager
–MatthiasJ.Sax–SquirrelsandStorms
8/22
System Architecture: Flink
JobManager
WebClientCLI Shell
TaskManager
TaskManager
TaskManager
TaskManager
TaskManager
JobManager
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
Src
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
Src T1 T2
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
Src T1 T2 F1
F2
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
Src T1 T2 F1
F2 C1 C2
–MatthiasJ.Sax–SquirrelsandStorms
9/22
Topology Deployment: Storm
per default: round-robin scheduling
high overhead due to intra JVM and/or network
communication
localOfShuffle connection pattern poorly exploited
isolation of topologies
custom scheduler possible (for experts only)
Src T1 T2 F1
F2 C1 C2 Sk
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
Src
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
Src
T1 T2
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
Src
T1 T2
F1 F2
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
Src
T1 T2
F1 F2
C1 C2
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
Src
T1 T2
F1 F2
C1 C2
Sk
–MatthiasJ.Sax–SquirrelsandStorms
10/22
Topology Deployment: Flink
deploys whole pipeline to each TaskManager
local-forward is default
operator chaining
Src
T1 T2
F1 F2
C1 C2
Sk
Storm Compatibility
–MatthiasJ.Sax–SquirrelsandStorms
12/22
Storm Compatibility
Allows to4
execute Storm topologies in Flink
embed Spouts/Bolts in Flink streaming programs
4
https://ci.apache.org/projects/flink/flink-docs-master/apis/storm_compatibility.html
–MatthiasJ.Sax–SquirrelsandStorms
12/22
Storm Compatibility
Allows to4
execute Storm topologies in Flink
embed Spouts/Bolts in Flink streaming programs
Runtime
Distributed Streaming Dataflow
DataSet API
Batch Processing
Streaming API
Stream Processing
Local
JVM, Embedded
Cluster
Standalone, YARN
Cloud
GCE, EC2
FlinkML
MachineLearning
Gelly
GraphAPI&Library
TableAPI
Batch
HadoopM/R
Comptibility
TableAPI
Streaming
Storm
Compatibility
4
https://ci.apache.org/projects/flink/flink-docs-master/apis/storm_compatibility.html
–MatthiasJ.Sax–SquirrelsandStorms
13/22
Storm Compatibility: API
Execute whole topologies:
FlinkTopologyBuilder
FlinkSubmitter
FlinkClient
FlinkLocalCluster
–MatthiasJ.Sax–SquirrelsandStorms
13/22
Storm Compatibility: API
Execute whole topologies:
FlinkTopologyBuilder
FlinkSubmitter
FlinkClient
FlinkLocalCluster
Embedded mode:
SpoutWrapper
BoltWrapper
–MatthiasJ.Sax–SquirrelsandStorms
13/22
Storm Compatibility: API
Execute whole topologies:
FlinkTopologyBuilder
FlinkSubmitter
FlinkClient
FlinkLocalCluster
Embedded mode:
SpoutWrapper
BoltWrapper
Additionally:
FiniteSpout interface
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
Bolt
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
Bolt
BoltWrapper
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
Bolt
BoltWrapper
Flink Collector
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
redirecting method calls
run() ⇒ nextTuple()
processElement() ⇒ execute()
emit() ⇒ collect()
Bolt
BoltWrapper
Flink Collector
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
redirecting method calls
run() ⇒ nextTuple()
processElement() ⇒ execute()
emit() ⇒ collect()
Bolt
BoltWrapper
Flink Collector
execute()
processElement()
emit()
collect()
–MatthiasJ.Sax–SquirrelsandStorms
14/22
Storm Compatibility: Internals
Wrappers for Operators and Collectors
redirecting method calls
run() ⇒ nextTuple()
processElement() ⇒ execute()
emit() ⇒ collect()
translating data types
TupleX, POJO ⇔ Tuple/Values
primitive types for single attribute input/output
Bolt
BoltWrapper
Flink Collector
execute()
processElement()
emit()
collect()
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
TopologyBuilder builder
= new TopologyBuilder ();
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
TopologyBuilder builder
= new TopologyBuilder ();
builder.setSpout("source",
new FileSpout("/tmp/hamlet.txt"));
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
TopologyBuilder builder
= new TopologyBuilder ();
builder.setSpout("source",
new FileSpout("/tmp/hamlet.txt"));
builder.setBolt("tokenizer", new BoltTokenizer ())
. shuffleGrouping ("source");
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
TopologyBuilder builder
= new TopologyBuilder ();
builder.setSpout("source",
new FileSpout("/tmp/hamlet.txt"));
builder.setBolt("tokenizer", new BoltTokenizer ())
. shuffleGrouping ("source");
builder.setBolt("counter", new BoltCounter ())
. fieldsGrouping("tokenizer",
new Fields("word"));
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
TopologyBuilder builder
= new TopologyBuilder ();
builder.setSpout("source",
new FileSpout("/tmp/hamlet.txt"));
builder.setBolt("tokenizer", new BoltTokenizer ())
. shuffleGrouping ("source");
builder.setBolt("counter", new BoltCounter ())
. fieldsGrouping("tokenizer",
new Fields("word"));
builder.setBolt("sink",
new BoltFileSink("/tmp/count.txt"))
. shuffleGrouping ("counter");
–MatthiasJ.Sax–SquirrelsandStorms
15/22
WordCount on Storm
public void main(String [] args) {
TopologyBuilder builder
= new TopologyBuilder ();
builder.setSpout("source",
new FileSpout("/tmp/hamlet.txt"));
builder.setBolt("tokenizer", new BoltTokenizer ())
. shuffleGrouping ("source");
builder.setBolt("counter", new BoltCounter ())
. fieldsGrouping("tokenizer",
new Fields("word"));
builder.setBolt("sink",
new BoltFileSink("/tmp/count.txt"))
. shuffleGrouping ("counter");
Config conf = new Config ();
StormSubmitter. submitTopology("WordCount", conf ,
builder.createTopology ());
}
–MatthiasJ.Sax–SquirrelsandStorms
16/22
WordCount on Flink
public void main(String [] args) {
FlinkTopologyBuilder builder
= new FlinkTopologyBuilder ();
builder.setSpout("source",
new FileSpout("/tmp/hamlet.txt"));
builder.setBolt("tokenizer", new BoltTokenizer ())
. shuffleGrouping ("source");
builder.setBolt("counter", new BoltCounter ())
. fieldsGrouping("tokenizer",
new Fields("word"));
builder.setBolt("sink",
new BoltFileSink("/tmp/count.txt"))
. shuffleGrouping ("counter");
Config conf = new Config ();
FlinkSubmitter. submitTopology("WordCount", conf ,
builder.createTopology ());
}
–MatthiasJ.Sax–SquirrelsandStorms
17/22
Storm on Flink
run Storm topology on Flink:
changing two lines of code
sufficient
–MatthiasJ.Sax–SquirrelsandStorms
18/22
WordCount: Embedded Spout
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
–MatthiasJ.Sax–SquirrelsandStorms
18/22
WordCount: Embedded Spout
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <Tuple1 <String >> source
= env.addSource(
–MatthiasJ.Sax–SquirrelsandStorms
18/22
WordCount: Embedded Spout
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <Tuple1 <String >> source
= env.addSource(
new SpoutWrapper <Tuple1 <String >>(
–MatthiasJ.Sax–SquirrelsandStorms
18/22
WordCount: Embedded Spout
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <Tuple1 <String >> source
= env.addSource(
new SpoutWrapper <Tuple1 <String >>(
new FileSpout("/tmp/hamlet.txt")),
–MatthiasJ.Sax–SquirrelsandStorms
18/22
WordCount: Embedded Spout
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <Tuple1 <String >> source
= env.addSource(
new SpoutWrapper <Tuple1 <String >>(
new FileSpout("/tmp/hamlet.txt")),
TypeExtractor.getForObject(
new Tuple1 <String >("")));
–MatthiasJ.Sax–SquirrelsandStorms
18/22
WordCount: Embedded Spout
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <Tuple1 <String >> source
= env.addSource(
new SpoutWrapper <Tuple1 <String >>(
new FileSpout("/tmp/hamlet.txt")),
TypeExtractor.getForObject(
new Tuple1 <String >("")));
// do further processing on source
source.flatMap(new Tokenizer ())
// out -> Tuple2 <String ,Integer >
.keyBy (0). sum (1). writeAsText("/tmp/count.txt");
env.execute("WordCount");
}
–MatthiasJ.Sax–SquirrelsandStorms
19/22
WordCount: Embedded Bolt
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <String > text
= env.readTextFile("/tmp/hamlet.txt");
–MatthiasJ.Sax–SquirrelsandStorms
19/22
WordCount: Embedded Bolt
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <String > text
= env.readTextFile("/tmp/hamlet.txt");
DataStream <Tuple2 <String ,Integer >> tokens
= text.transform(
–MatthiasJ.Sax–SquirrelsandStorms
19/22
WordCount: Embedded Bolt
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <String > text
= env.readTextFile("/tmp/hamlet.txt");
DataStream <Tuple2 <String ,Integer >> tokens
= text.transform(
"tokenizer",
new BoltWrapper <String ,
Tuple2 <String ,Integer >>(
–MatthiasJ.Sax–SquirrelsandStorms
19/22
WordCount: Embedded Bolt
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <String > text
= env.readTextFile("/tmp/hamlet.txt");
DataStream <Tuple2 <String ,Integer >> tokens
= text.transform(
"tokenizer",
new BoltWrapper <String ,
Tuple2 <String ,Integer >>(
new BoltTokenizer ()));
–MatthiasJ.Sax–SquirrelsandStorms
19/22
WordCount: Embedded Bolt
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <String > text
= env.readTextFile("/tmp/hamlet.txt");
DataStream <Tuple2 <String ,Integer >> tokens
= text.transform(
"tokenizer",
TypeExtractor.getForObject
new Tuple2 <String ,Integer >("", 0),
new BoltWrapper <String ,
Tuple2 <String ,Integer >>(
new BoltTokenizer ()));
–MatthiasJ.Sax–SquirrelsandStorms
19/22
WordCount: Embedded Bolt
public void main(String [] args) {
StreamExecutionEnvironment env
= StreamExecutionEnvironment
. getExecutionEnvironment ();
DataStream <String > text
= env.readTextFile("/tmp/hamlet.txt");
DataStream <Tuple2 <String ,Integer >> tokens
= text.transform(
"tokenizer",
TypeExtractor.getForObject
new Tuple2 <String ,Integer >("", 0),
new BoltWrapper <String ,
Tuple2 <String ,Integer >>(
new BoltTokenizer ()));
// do further processing on tokens
tokens.keyBy (0). sum (1). writeAsText("/tmp/count.txt");
env.execute("WordCount");
}
–MatthiasJ.Sax–SquirrelsandStorms
20/22
Embedded Compatibility Mode
Re-use code within Flink streaming program:
Spouts as Flink sources
Bolts as Flink operators
–MatthiasJ.Sax–SquirrelsandStorms
20/22
Embedded Compatibility Mode
Re-use code within Flink streaming program:
Spouts as Flink sources
Bolts as Flink operators
Pros:
mix-and-match of Storm and Flink operators
configure Spouts/Bolts (Map/Config)
spliting Spout/Bolt output streams
type-safe embedding
also raw types, ie, String instead of Tuple1 String
convert infinite Spouts to finite sources
FinitSpout interfacee
–MatthiasJ.Sax–SquirrelsandStorms
20/22
Embedded Compatibility Mode
Re-use code within Flink streaming program:
Spouts as Flink sources
Bolts as Flink operators
Pros:
mix-and-match of Storm and Flink operators
configure Spouts/Bolts (Map/Config)
spliting Spout/Bolt output streams
type-safe embedding
also raw types, ie, String instead of Tuple1 String
convert infinite Spouts to finite sources
FinitSpout interfacee
Cons: Currently, quite some boilderplate code necessary :/
–MatthiasJ.Sax–SquirrelsandStorms
21/22
Outlook: Storm Compatibility
Current status:
available in master branch
based on Storm 0.9.4
will be part of Flink 0.10.0
–MatthiasJ.Sax–SquirrelsandStorms
21/22
Outlook: Storm Compatibility
Current status:
available in master branch
based on Storm 0.9.4
will be part of Flink 0.10.0
Work in progress:
Hooks
Metrics
–MatthiasJ.Sax–SquirrelsandStorms
21/22
Outlook: Storm Compatibility
Current status:
available in master branch
based on Storm 0.9.4
will be part of Flink 0.10.0
Work in progress:
Hooks
Metrics
Next steps:
enable fault-tolerance
introduce FlinkTridentTopology
improve embedded mode (StormEnvironment)
dbisINSTITUT FÜR INFORMATIK
HUMBOLDT−UNIVERSITÄT ZU ERLINB
A Tale of Squirrels and Storms
Flink Forward 2015
Thanks!

Weitere ähnliche Inhalte

Was ist angesagt?

Dongwon Kim – A Comparative Performance Evaluation of Flink
Dongwon Kim – A Comparative Performance Evaluation of FlinkDongwon Kim – A Comparative Performance Evaluation of Flink
Dongwon Kim – A Comparative Performance Evaluation of Flink
Flink Forward
 
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream ProcessingChristian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Flink Forward
 
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache ZeppelinMoon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Flink Forward
 
Apache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World LondonApache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World London
Stephan Ewen
 

Was ist angesagt? (20)

Dongwon Kim – A Comparative Performance Evaluation of Flink
Dongwon Kim – A Comparative Performance Evaluation of FlinkDongwon Kim – A Comparative Performance Evaluation of Flink
Dongwon Kim – A Comparative Performance Evaluation of Flink
 
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
Architecture of Flink's Streaming Runtime @ ApacheCon EU 2015
 
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream ProcessingChristian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream Processing
 
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache ZeppelinMoon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
 
Apache Flink at Strata San Jose 2016
Apache Flink at Strata San Jose 2016Apache Flink at Strata San Jose 2016
Apache Flink at Strata San Jose 2016
 
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
 
K. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward KeynoteK. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward Keynote
 
Pulsar connector on flink 1.14
Pulsar connector on flink 1.14Pulsar connector on flink 1.14
Pulsar connector on flink 1.14
 
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
 
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
 
Data Stream Analytics - Why they are important
Data Stream Analytics - Why they are importantData Stream Analytics - Why they are important
Data Stream Analytics - Why they are important
 
An Introduction to Distributed Data Streaming
An Introduction to Distributed Data StreamingAn Introduction to Distributed Data Streaming
An Introduction to Distributed Data Streaming
 
Unified Stream and Batch Processing with Apache Flink
Unified Stream and Batch Processing with Apache FlinkUnified Stream and Batch Processing with Apache Flink
Unified Stream and Batch Processing with Apache Flink
 
A look at Flink 1.2
A look at Flink 1.2A look at Flink 1.2
A look at Flink 1.2
 
Taking a look under the hood of Apache Flink's relational APIs.
Taking a look under the hood of Apache Flink's relational APIs.Taking a look under the hood of Apache Flink's relational APIs.
Taking a look under the hood of Apache Flink's relational APIs.
 
Apache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World LondonApache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World London
 
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
 
Flink history, roadmap and vision
Flink history, roadmap and visionFlink history, roadmap and vision
Flink history, roadmap and vision
 
Data Stream Processing with Apache Flink
Data Stream Processing with Apache FlinkData Stream Processing with Apache Flink
Data Stream Processing with Apache Flink
 
SICS: Apache Flink Streaming
SICS: Apache Flink StreamingSICS: Apache Flink Streaming
SICS: Apache Flink Streaming
 

Andere mochten auch

Chris Hillman – Beyond Mapreduce Scientific Data Processing in Real-time
Chris Hillman – Beyond Mapreduce Scientific Data Processing in Real-timeChris Hillman – Beyond Mapreduce Scientific Data Processing in Real-time
Chris Hillman – Beyond Mapreduce Scientific Data Processing in Real-time
Flink Forward
 
Martin Junghans – Gradoop: Scalable Graph Analytics with Apache Flink
Martin Junghans – Gradoop: Scalable Graph Analytics with Apache FlinkMartin Junghans – Gradoop: Scalable Graph Analytics with Apache Flink
Martin Junghans – Gradoop: Scalable Graph Analytics with Apache Flink
Flink Forward
 
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaMohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Flink Forward
 
Apache Flink Training: DataStream API Part 1 Basic
 Apache Flink Training: DataStream API Part 1 Basic Apache Flink Training: DataStream API Part 1 Basic
Apache Flink Training: DataStream API Part 1 Basic
Flink Forward
 
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache FlinkMaximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Flink Forward
 
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Flink Forward
 
Suneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache Flink
Suneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache FlinkSuneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache Flink
Suneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache Flink
Flink Forward
 
William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...
William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...
William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...
Flink Forward
 

Andere mochten auch (20)

Chris Hillman – Beyond Mapreduce Scientific Data Processing in Real-time
Chris Hillman – Beyond Mapreduce Scientific Data Processing in Real-timeChris Hillman – Beyond Mapreduce Scientific Data Processing in Real-time
Chris Hillman – Beyond Mapreduce Scientific Data Processing in Real-time
 
Martin Junghans – Gradoop: Scalable Graph Analytics with Apache Flink
Martin Junghans – Gradoop: Scalable Graph Analytics with Apache FlinkMartin Junghans – Gradoop: Scalable Graph Analytics with Apache Flink
Martin Junghans – Gradoop: Scalable Graph Analytics with Apache Flink
 
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaMohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
 
Apache Flink Training: DataStream API Part 1 Basic
 Apache Flink Training: DataStream API Part 1 Basic Apache Flink Training: DataStream API Part 1 Basic
Apache Flink Training: DataStream API Part 1 Basic
 
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache FlinkMaximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
 
Slim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. SparkSlim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. Spark
 
Flink Case Study: Bouygues Telecom
Flink Case Study: Bouygues TelecomFlink Case Study: Bouygues Telecom
Flink Case Study: Bouygues Telecom
 
Introduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processingIntroduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processing
 
Mikio Braun – Data flow vs. procedural programming
Mikio Braun – Data flow vs. procedural programming Mikio Braun – Data flow vs. procedural programming
Mikio Braun – Data flow vs. procedural programming
 
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
 
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
 
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
 
Michael Häusler – Everyday flink
Michael Häusler – Everyday flinkMichael Häusler – Everyday flink
Michael Häusler – Everyday flink
 
Suneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache Flink
Suneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache FlinkSuneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache Flink
Suneel Marthi – BigPetStore Flink: A Comprehensive Blueprint for Apache Flink
 
Assaf Araki – Real Time Analytics at Scale
Assaf Araki – Real Time Analytics at ScaleAssaf Araki – Real Time Analytics at Scale
Assaf Araki – Real Time Analytics at Scale
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internals
 
William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...
William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...
William Vambenepe – Google Cloud Dataflow and Flink , Stream Processing by De...
 
Apache Flink Training: DataSet API Basics
Apache Flink Training: DataSet API BasicsApache Flink Training: DataSet API Basics
Apache Flink Training: DataSet API Basics
 
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
 
Aljoscha Krettek – Notions of Time
Aljoscha Krettek – Notions of TimeAljoscha Krettek – Notions of Time
Aljoscha Krettek – Notions of Time
 

Ähnlich wie Matthias J. Sax – A Tale of Squirrels and Storms

Apache Kafka - A modern Stream Processing Platform
Apache Kafka - A modern Stream Processing PlatformApache Kafka - A modern Stream Processing Platform
Apache Kafka - A modern Stream Processing Platform
Guido Schmutz
 
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Spark Summit
 

Ähnlich wie Matthias J. Sax – A Tale of Squirrels and Storms (20)

All Day DevOps - FLiP Stack for Cloud Data Lakes
All Day DevOps - FLiP Stack for Cloud Data LakesAll Day DevOps - FLiP Stack for Cloud Data Lakes
All Day DevOps - FLiP Stack for Cloud Data Lakes
 
An Optics Life
An Optics LifeAn Optics Life
An Optics Life
 
Porting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to RustPorting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to Rust
 
PROFIBUS frame analysis - Peter Thomas of Control Specialists
PROFIBUS frame analysis - Peter Thomas of Control SpecialistsPROFIBUS frame analysis - Peter Thomas of Control Specialists
PROFIBUS frame analysis - Peter Thomas of Control Specialists
 
Circuit Emulation for Bulk Transfers in Distributed Storage and Clouds
Circuit Emulation for Bulk Transfers in Distributed Storage and CloudsCircuit Emulation for Bulk Transfers in Distributed Storage and Clouds
Circuit Emulation for Bulk Transfers in Distributed Storage and Clouds
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
GARUDA
GARUDAGARUDA
GARUDA
 
Network simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linuxNetwork simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linux
 
Apache Kafka - A modern Stream Processing Platform
Apache Kafka - A modern Stream Processing PlatformApache Kafka - A modern Stream Processing Platform
Apache Kafka - A modern Stream Processing Platform
 
FAIR Projector Builder
FAIR Projector BuilderFAIR Projector Builder
FAIR Projector Builder
 
PLNOG 13: Alexis Dacquay: Architectures for Universal Data Centre Networks, t...
PLNOG 13: Alexis Dacquay: Architectures for Universal Data Centre Networks, t...PLNOG 13: Alexis Dacquay: Architectures for Universal Data Centre Networks, t...
PLNOG 13: Alexis Dacquay: Architectures for Universal Data Centre Networks, t...
 
SA UNIT III STORM.pdf
SA UNIT III STORM.pdfSA UNIT III STORM.pdf
SA UNIT III STORM.pdf
 
SMACK Stack - Fast Data Done Right by Stefan Siprell at Codemotion Dubai
SMACK Stack - Fast Data Done Right by Stefan Siprell at Codemotion DubaiSMACK Stack - Fast Data Done Right by Stefan Siprell at Codemotion Dubai
SMACK Stack - Fast Data Done Right by Stefan Siprell at Codemotion Dubai
 
Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soiré...
Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soiré...Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soiré...
Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soiré...
 
Real-Time Data Processing at RTB House – Architecture & Lessons Learned
Real-Time Data Processing at RTB House – Architecture & Lessons LearnedReal-Time Data Processing at RTB House – Architecture & Lessons Learned
Real-Time Data Processing at RTB House – Architecture & Lessons Learned
 
Dc project 1
Dc project 1Dc project 1
Dc project 1
 
Spark streaming state of the union
Spark streaming state of the unionSpark streaming state of the union
Spark streaming state of the union
 
FEC & File Multicast
FEC & File MulticastFEC & File Multicast
FEC & File Multicast
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
 

Mehr von Flink Forward

Mehr von Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Matthias J. Sax – A Tale of Squirrels and Storms