Try our new research platform with insights from 80,000+ expert users

Apache Flink vs Apache Spark Streaming comparison

 

Comparison Buyer's Guide

Executive SummaryUpdated on Dec 17, 2024

Review summaries and opinions

We asked business professionals to review the solutions they use. Here are some excerpts of what they said:
 

Categories and Ranking

Apache Flink
Ranking in Streaming Analytics
5th
Average Rating
7.6
Reviews Sentiment
6.9
Number of Reviews
16
Ranking in other categories
No ranking in other categories
Apache Spark Streaming
Ranking in Streaming Analytics
10th
Average Rating
8.0
Reviews Sentiment
7.4
Number of Reviews
11
Ranking in other categories
No ranking in other categories
 

Mindshare comparison

As of February 2025, in the Streaming Analytics category, the mindshare of Apache Flink is 12.1%, up from 9.6% compared to the previous year. The mindshare of Apache Spark Streaming is 3.1%, down from 3.9% compared to the previous year. It is calculated based on PeerSpot user engagement data.
Streaming Analytics
 

Featured Reviews

Ilya Afanasyev - PeerSpot reviewer
A great solution with an intricate system and allows for batch data processing
We value this solution's intricate system because it comes with a state inside the mechanism and product. The system allows us to process batch data, stream to real-time and build pipelines. Additionally, we do not need to process data from the beginning when we pause, and we can continue from the same point where we stopped. It helps us save time as 95% of our pipelines will now be on Amazon, and we'll save money by saving time.
AbhishekGupta - PeerSpot reviewer
Easy integration, beneficial auto-scaling, and good open-sourced support community
The service structure of Apache Spark Streaming can improve. There are a lot of issues with memory management and latency. There is no real-time analytics. We recommend it for the use cases where there is a five-second latency, but not for a millisecond, an IOT-based, or the detection anomaly-based. Flink as a service is much better. Apache Spark Streaming does not have auto-tuning. A customer needs to invest a lot, in terms of management and maintenance.

Quotes from Members

We asked business professionals to review the solutions they use. Here are some excerpts of what they said:
 

Pros

"The setup was not too difficult."
"The top feature of Apache Flink is its low latency for fast, real-time data. Another great feature is the real-time indicators and alerts which make a big difference when it comes to data processing and analysis."
"Easy to deploy and manage."
"Apache Flink's best feature is its data streaming tool."
"It provides us the flexibility to deploy it on any cluster without being constrained by cloud-based limitations."
"Apache Flink offers a range of powerful configurations and experiences for development teams. Its strength lies in its development experience and capabilities."
"Allows us to process batch data, stream to real-time and build pipelines."
"Another feature is how Flink handles its radiuses. It has something called the checkpointing concept. You're dealing with billions and billions of requests, so your system is going to fail in large storage systems. Flink handles this by using the concept of checkpointing and savepointing, where they write the aggregated state into some separate storage. So in case of failure, you can basically recall from that state and come back."
"Apache Spark Streaming has features like checkpointing and Streaming API that are useful."
"The solution is better than average and some of the valuable features include efficiency and stability."
"Apache Spark Streaming's most valuable feature is near real-time analytics. The developers can build APIs easily for a code-steaming pipeline. The solutions have an ecosystem of integration with other stock services."
"As an open-source solution, using it is basically free."
"The solution is very stable and reliable."
"Apache Spark Streaming is versatile. You can use it for competitive intelligence, gathering data from competitors, or for internal tasks like monitoring workflows."
"It's the fastest solution on the market with low latency data on data transformations."
"The platform’s most valuable feature for processing real-time data is its ability to handle continuous data streams."
 

Cons

"The state maintains checkpoints and they use RocksDB or S3. They are good but sometimes the performance is affected when you use RocksDB for checkpointing."
"There is room for improvement in the initial setup process."
"We have a machine learning team that works with Python, but Apache Flink does not have full support for the language."
"The machine learning library is not very flexible."
"Apache Flink's documentation should be available in more languages."
"The TimeWindow feature is a bit tricky. The timing of the content and the windowing is a bit changed in 1.11. They have introduced watermarks. A watermark is basically associating every data with a timestamp. The timestamp could be anything, and we can provide the timestamp. So, whenever I receive a tweet, I can actually assign a timestamp, like what time did I get that tweet. The watermark helps us to uniquely identify the data. Watermarks are tricky if you use multiple events in the pipeline. For example, you have three resources from different locations, and you want to combine all those inputs and also perform some kind of logic. When you have more than one input screen and you want to collect all the information together, you have to apply TimeWindow all. That means that all the events from the upstream or from the up sources should be in that TimeWindow, and they were coming back. Internally, it is a batch of events that may be getting collected every five minutes or whatever timing is given. Sometimes, the use case for TimeWindow is a bit tricky. It depends on the application as well as on how people have given this TimeWindow. This kind of documentation is not updated. Even the test case documentation is a bit wrong. It doesn't work. Flink has updated the version of Apache Flink, but they have not updated the testing documentation. Therefore, I have to manually understand it. We have also been exploring failure handling. I was looking into changelogs for which they have posted the future plans and what are they going to deliver. We have two concerns regarding this, which have been noted down. I hope in the future that they will provide this functionality. Integration of Apache Flink with other metric services or failure handling data tools needs some kind of update or its in-depth knowledge is required in the documentation. We have a use case where we want to actually analyze or get analytics about how much data we process and how many failures we have. For that, we need to use Tomcat, which is an analytics tool for implementing counters. We can manage reports in the analyzer. This kind of integration is pretty much straightforward. They say that people must be well familiar with all the things before using this type of integration. They have given this complete file, which you can update, but it took some time. There is a learning curve with it, which consumed a lot of time. It is evolving to a newer version, but the documentation is not demonstrating that update. The documentation is not well incorporated. Hopefully, these things will get resolved now that they are implementing it. Failure is another area where it is a bit rigid or not that flexible. We never use this for scaling because complexity is very high in case of a failure. Processing and providing the scaled data back to Apache Flink is a bit challenging. They have this concept of offsetting, which could be simplified."
"PyFlink is not as fully featured as Python itself, so there are some limitations to what you can do with it."
"There is a learning curve. It takes time to learn."
"The initial setup is quite complex."
"The cost and load-related optimizations are areas where the tool lacks and needs improvement."
"There could be an improvement in the area of the user configuration section, it should be less developer-focused and more business user-focused."
"We don't have enough experience to be judgmental about its flaws."
"The debugging aspect could use some improvement."
"We would like to have the ability to do arbitrary stateful functions in Python."
"In terms of improvement, the UI could be better."
"It was resource-intensive, even for small-scale applications."
 

Pricing and Cost Advice

"It's an open source."
"This is an open-source platform that can be used free of charge."
"It's an open-source solution."
"The solution is open-source, which is free."
"Apache Flink is open source so we pay no licensing for the use of the software."
"Spark is an affordable solution, especially considering its open-source nature."
"People pay for Apache Spark Streaming as a service."
"I was using the open-source community version, which was self-hosted."
"On a scale from one to ten, where one is expensive, or not cost-effective, and ten is cheap, I rate the price a seven."
report
Use our free recommendation engine to learn which Streaming Analytics solutions are best for your needs.
832,138 professionals have used our research since 2012.
 

Top Industries

By visitors reading reviews
Financial Services Firm
24%
Computer Software Company
17%
Manufacturing Company
6%
Healthcare Company
5%
Financial Services Firm
26%
Computer Software Company
20%
Manufacturing Company
6%
University
5%
 

Company Size

By reviewers
Large Enterprise
Midsize Enterprise
Small Business
 

Questions from the Community

What do you like most about Apache Flink?
The product helps us to create both simple and complex data processing tasks. Over time, it has facilitated integration and navigation across multiple data sources tailored to each client's needs. ...
What is your experience regarding pricing and costs for Apache Flink?
The solution is expensive. I rate the product’s pricing a nine out of ten, where one is cheap and ten is expensive.
What needs improvement with Apache Flink?
There are more libraries that are missing and also maybe more capabilities for machine learning. It could have a friendly user interface for pipeline configuration, deployment, and monitoring.
What do you like most about Apache Spark Streaming?
Apache Spark Streaming is versatile. You can use it for competitive intelligence, gathering data from competitors, or for internal tasks like monitoring workflows.
What needs improvement with Apache Spark Streaming?
We don't have enough experience to be judgmental about its flaws, as we've only used stable features like batch micro-batch. Integration poses no problem; however, I don't use some features and can...
What is your primary use case for Apache Spark Streaming?
We use Spark Streaming in a micro-batch region. It's not a full real-time system, but it offers high performance and low latency.
 

Also Known As

Flink
Spark Streaming
 

Overview

 

Sample Customers

LogRhythm, Inc., Inter-American Development Bank, Scientific Technologies Corporation, LotLinx, Inc., Benevity, Inc.
UC Berkeley AMPLab, Amazon, Alibaba Taobao, Kenshoo, eBay Inc.
Find out what your peers are saying about Apache Flink vs. Apache Spark Streaming and other solutions. Updated: January 2025.
832,138 professionals have used our research since 2012.