Apache Spark vs. Presto

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Spark
Score 9.2 out of 10
N/A
Apache Spark is a multi-language engine for executing data engineering, data science, and machine learning on single-node machines or clusters.N/A
Presto
Score 2.6 out of 10
N/A
Presto is an open source SQL query engine designed to run queries on data stored in Hadoop or in traditional databases. Teradata supported development of Presto followed the acquisition of Hadapt and Revelytix.N/A
Pricing
Apache SparkPresto
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache SparkPresto
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Apache SparkPresto
TrustRadius Insights
Apache SparkPresto
Highlights

TrustRadius
Research Team Insight
Published

Apache Spark and Presto are open-source distributed data processing engines. Both engines are designed for ‘big data’ applications, designed to help analysts and data engineers query large amounts of data quickly. Although they have many similarities, Presto is focused on SQL query jobs, while Apache Spark is designed to handle applications that require more computational analysis, such as machine learning.

Both Apache Spark and Presto are used mostly by large enterprises, with a significant mid-sized company user base as well. Since both engines are designed for big data processing, they’re often overkill for smaller businesses.

Features

Although both Apache Spark and Presto are used for similar applications, they each have distinguishing features that set them apart from each other.

Apache Spark is designed for fast data processing in a variety of contexts, including machine learning, ETL, and ad-hoc querying. It uses an in-memory processing design, meaning it can run with very few disk read/write operations and process enormous datasets quickly. Developers report that its SQL interface and object-oriented design make it easy to understand and write code for. Users also appreciate its wide variety of APIs for ETL procedures and cluster management. Apache Spark has a large support community and wide industry adoption, and the internet has plenty of recommended solutions to common problems.

Presto is optimized specifically for SQL, meaning it can exceed Apache Spark’s speed for SQL queries. It queries data in-place, without copying or moving data. Presto also uses a flexible, plug-and-play architecture that makes it easy to combine and simultaneously query data from multiple sources, including both SQL and NoSQL databases. It’s suitable for ad-hoc querying, batch ETL jobs, and data analysis for A/B testing. 

Limitations

Before adopting Apache Spark or Presto, consider the limitations of each engine.

Apache Spark’s in-memory processing may be fast, but it also requires plenty of memory, which can quickly get expensive. Some users found that Apache Spark isn’t ideal for real-time analytics, while others found its data security capabilities lacking. It lacks automatic optimization and caching features, requiring some users to build the functionality themselves. Finally, Apache Spark may be designed intuitively, but it’s still a complicated tool with a steep learning curve.

Presto’s SQL optimization is also its primary limitation. It’s designed primarily to run SQL queries, while Apache Spark is suitable for a wider range of applications. This also means that Presto is at its best when the data it’s querying is already in SQL databases; although Presto can query and join data from multiple database types, you only get the highest speeds with SQL data. Additionally, Presto requires a lot of setup to run properly, with installation and configuration across many different nodes.

Pricing

Both Apache Spark and Presto are open-source and free.

Best Alternatives
Apache SparkPresto
Small Businesses

No answers on this topic

InterSystems IRIS
InterSystems IRIS
Score 7.7 out of 10
Medium-sized Companies
Cloudera Manager
Cloudera Manager
Score 9.9 out of 10
InterSystems IRIS
InterSystems IRIS
Score 7.7 out of 10
Enterprises
IBM Analytics Engine
IBM Analytics Engine
Score 7.1 out of 10
SAP IQ
SAP IQ
Score 10.0 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache SparkPresto
Likelihood to Recommend
9.0
(0 ratings)
7.8
(0 ratings)
Likelihood to Renew
10.0
(0 ratings)
-
(0 ratings)
Usability
8.0
(0 ratings)
-
(0 ratings)
Support Rating
8.7
(0 ratings)
-
(0 ratings)
User Testimonials
Apache SparkPresto
Likelihood to Recommend
Apache Spark has rich APIs for regular data transformations or for ML workloads or for graph workloads, whereas other systems may not such a wide range of support. Choose it when you need to perform data transformations for big data as offline jobs, whereas use MongoDB-like distributed database systems for more realtime queries.
Read full review
Simple stories & templates work nicely - like for our Insider program. Stories that include a lot of images may be challenging to create & have look appealing.
Read full review
Pros
  • It performs a conventional disk-based process when the data sets are too large to fit into memory, which is very useful because, regardless of the size of the data, it is always possible to store them.
  • It has great speed and ability to join multiple types of databases and run different types of analysis applications. This functionality is super useful as it reduces work times
  • Apache Spark uses the data storage model of Hadoop and can be integrated with other big data frameworks such as HBase, MongoDB, and Cassandra. This is very useful because it is compatible with multiple frameworks that the company has, and thus allows us to unify all the processes.
Read full review
  • Linking, embedding links and adding images is easy enough.
  • Once you have become familiar with the interface, Presto becomes very quick & easy to use (but, you have to practice & repeat to know what you are doing - it is not as intuitive as one would hope).
  • Organizing & design is fairly simple with click & drag parameters.
Read full review
Cons
  • Memory management. Very weak on that.
  • PySpark not as robust as scala with spark.
  • spark master HA is needed. Not as HA as it should be.
  • Locality should not be a necessity, but does help improvement. But would prefer no locality
Read full review
  • Presto was not designed for large fact fact joins. This is by design as presto does not leverage disk and used memory for processing which in turn makes it fast.. However, this is a tradeoff..in an ideal world, people would like to use one system for all their use cases, and presto should get exhaustive by solving this problem.
  • Resource allocation is not similar to YARN and presto has a priority queue based query resource allocation..so a query that takes long takes longer...this might be alleviated by giving some more control back to the user to define priority/override.
  • UDF Support is not available in presto. You will have to write your own functions..while this is good for performance, it comes at a huge overhead of building exclusively for presto and not being interoperable with other systems like Hive, SparkSQL etc.
Read full review
Likelihood to Renew
Capacity of computing data in cluster and fast speed.
Read full review
No answers on this topic
Usability
If the team looking to use Apache Spark is not used to debug and tweak settings for jobs to ensure maximum optimizations, it can be frustrating. However, the documentation and the support of the community on the internet can help resolve most issues. Moreover, it is highly configurable and it integrates with different tools (eg: it can be used by dbt core), which increase the scenarios where it can be used
Read full review
No answers on this topic
Support Rating
1. It integrates very well with scala or python. 2. It's very easy to understand SQL interoperability. 3. Apache is way faster than the other competitive technologies. 4. The support from the Apache community is very huge for Spark. 5. Execution times are faster as compared to others. 6. There are a large number of forums available for Apache Spark. 7. The code availability for Apache Spark is simpler and easy to gain access to. 8. Many organizations use Apache Spark, so many solutions are available for existing applications.
Read full review
No answers on this topic
Alternatives Considered
We used Surprise Kit for one of the other research works. It is more fine-tuned to Recommendation systems and their algorithms. Apache Spark has MLlib for majority of ML problems. Where as software like Surprse Kit - it suitable for a specific task of Recommendations only
Read full review
I think Presto is one of the best solutions out there today at the cutting edge for interactive query analysis. One of the challenges is presto is a niche tool for the interactive query use case and doesn't have the knobs and whistles as much as Spark. In the foreseeable future if they are able to make presto work without the need for Hive, solving all the gaps it could be game changing and can be a direct threat to spark
Read full review
Return on Investment
  • Faster turn around on feature development, we have seen a noticeable improvement in our agile development since using Spark.
  • Easy adoption, having multiple departments use the same underlying technology even if the use cases are very different allows for more commonality amongst applications which definitely makes the operations team happy.
  • Performance, we have been able to make some applications run over 20x faster since switching to Spark. This has saved us time, headaches, and operating costs.
Read full review
  • Presto has helped scale Uber's interactive data needs. We have migrated a lot out of proprietary tech like Vertica.
  • Presto has helped build data driven applications on its stack than maintain a separate online/offline stack.
  • Presto has helped us build data exploration tools by leveraging it's power of interactive and is immensely valuable for data scientists.
Read full review
ScreenShots