Due to the increasing interest in real-time processing, many stream processing frameworks were developed. However, no clear guidelines have been established for choosing a framework for a specific use case. In this talk, two different scenarios are taken and the audience is guided through the thought process and questions that one should ask oneself when choosing the right tool. The stream processing frameworks that will be discussed are Spark Streaming, Structured Streaming, Flink and Kafka Streams.
The main questions are:
How much data does it need to process? (throughput)
Does it need to be fast? (latency)
Who will build it? (supported languages, level of API, SQL capabilities, built-in windowing and joining functionalities, etc)
Is accurate ordering important? (event time vs. processing time)
Is there a batch component? (integration of batch API)
How do we want it to run? (deployment options: standalone, YARN, mesos, …)
How much state do we have? (state store options) – What if a message gets lost? (message delivery guarantees, checkpointing).
For each of these questions, we look at how each framework tackles this and what the main differences are. The content is based on the PhD research of Giselle van Dongen in benchmarking stream processing frameworks in several scenarios using latency, throughput and resource utilization.
52. W1 W3 W4
W2 W4
What if a message gets lost?
52#UnifiedDataAnalytics #SparkAISummit
State
State
State
State
State
HDFS
ref. Flink Forward 2018 Best practices for state and time, Tzu-Li Tai
53. W1 W3 W4
W2 W4
What if a message gets lost?
53#UnifiedDataAnalytics #SparkAISummit
State
State
State
State
State
HDFS
ref. Flink Forward 2018 Best practices for state and time, Tzu-Li Tai
54. W1 W4
W2 W4
W3
What if a message gets lost?
54#UnifiedDataAnalytics #SparkAISummit
State
State
State
State
State
HDFS
ref. Flink Forward 2018 Best practices for state and time, Tzu-Li Tai
55. What if a message gets lost?
●
○
○
○
●
○
○
○
○
56. What if a message gets lost?
56#UnifiedDataAnalytics #SparkAISummit
57. What if a message gets lost?
57#UnifiedDataAnalytics #SparkAISummit