The 5 biggest differences between Presto and Hive are:

  1. Hive lets users plugin custom code while Preso does not.
  2. Presto is designed to comply with ANSI SQL, while Hive uses HiveQL.
  3. Presto can handle limited amounts of data, so it’s better to use Hive when generating large reports.
  4. Hive can often tolerate failures, but Presto does not.
  5. Hive uses map-reduce architecture and writes data to disk while Presto uses HDFS architecture without map-reduce.

Integrate Your Data Today!

Try Xplenty free for 7 days. No credit card required.

Presto began as a Facebook project that would let engineers run interactive analytic queries against the company’s huge (300PB) data warehouse. Facebook released Presto as an open-source tool under Apache Software. Before creating Presto, Facebook used Hive in a similar way. After abandoning it in favor of Presto, Hive also became an open-source Apache tool data warehouse tool. Today, companies working with big data often have strong preferences between Presto and Hive. A close comparison shows that the options have some similarities and differences, but neither has the comprehensive features needed to manage and transform big data.

Table of Contents

  1. Presto vs Hive: ANSI SQL and HiveQL
  2. Presto vs Hive: Custom Code 
  3. Presto vs Hive: Data Limitations
  4. Presto vs Hive: HDFS and Write Data to Disk
  5. Presto vs Hive: Conclusion
  6. Xplenty Offers a Better Alternative for ETL

Presto vs Hive: ANSI SQL and HiveQL

One of the first things that many data engineers notice when they first try Presto is that they can use their existing SQL knowledge. Presto relies on standard SQL to executive queries, retrieve data, and modify data in databases. As long as you know SQL, you can start working with Presto immediately. Many people see that as an advantage.

Apache Hive uses a language similar to SQL, but it has enough differences that beginning users need to relearn some queries. HiveQL, which stands for Hive Query Language, has some oddities that may confuse new users. Anyone familiar with SQL, though, should find that they can pick up HiveQL relatively quickly. 

Apache maintains a comprehensive language manual for HiveQL, so you can always look up commands when you forget them. Still, looking up the information creates a distraction and slows efficiency.

Presto vs Hive: Custom Code 

Since Presto runs on standard SQL, you already have all of the commands that you need. Some engineers see that as an advantage because they can execute data retrievals and modifications quickly. 

The inability to insert custom code, however, can create problems for advanced big data users. In this case, Hive offers an advantage over Presto. Assuming that you know the language well, you can insert custom code into your queries. You may not need to do it often, but it comes in handy when needed.

Before taking the time to write custom code in HiveQL, visit the Hive Plugins page and search for a similar code. Someone may have already written the code that you need for your project. If you cannot find the specific code that you need, you may find a plugin that only needs small changes to perform your unique command.

Integrate Your Data Today!

Try Xplenty free for 7 days. No credit card required.

Presto vs Hive: Data Limitations

Few people will deny that Presto works well when generating frequent reports. Unfortunately, Presto tasks have a maximum amount of data that they can store. Once you hit that wall, Presto’s logic falls apart. If you generate hourly or daily reports, you can almost certainly rely on Presto to do the job well. Keep in mind that Facebook uses Presto, and that company generates enormous amounts of data. You can reach a limit, though.

Hive doesn’t seem to have a data limitation, at least not one that will affect real-world scenarios. That makes Hive the better data query option for companies that generate weekly or monthly reports. The more data involved, the longer the project will take. Hive will not fail, though. It will keep working until it reaches the end of your commands.

Presto vs Hive: HDFS and Write Data to Disk

Architecture plays a significant role in the differences between Presto and Hive.

Hive and MapReduce

Hive uses MapReduce, which means it filters and sorts tasks while managing them on distributed servers. Between the reduce and map stages, however, Hive must write data to the disk. Writing to the disk forces Hive to wait a short amount of time before moving on to the next task.

MapReduce works well in Hive because it can process tasks on multiple servers. Distributing tasks increases the speed. Still, the data must get written to a disk, which will annoy some users.

Luckily, MapReduce brings exceptional flexibility to Hive. It can work with a huge range of data formats. MapReduce also helps Hive keep working even when it encounters data failures. It will acknowledge the failure and move on when possible.

Presto and HDFS

Presto has a different architecture that makes gives makes it useful on some occasions and troublesome on others. Presto supports Hadoop Distributed File System (HDFS), a non-relational source that does not have to write data to the disk between tasks. Instead, HDFS architecture stores data throughout a distributed system. Since it data doesn’t get locked into one place, Presto can run tasks without stopping to write data to the disk.

Obviously, HDFS offers several advantages. Not surprisingly, though, you can encounter challenges with the architecture. HDFS doesn’t tolerate failures as well as MapReduce. When something goes wrong, Presto tends to lose its way and shut down. It doesn’t happen often, but you can lose hours of work from a failure. You may find that you can retrace your steps, resolve the problem, and pick up where you left off. Even with that solution, users waste precious time tracking down the failure’s source and diagnosing the issue.

Presto vs Hive: Conclusion

Many professionals who work with big data prefer Hive over Presto because they appreciate its stability and flexibility. When you work with big data professionally, you find times when you want to write custom code that will make projects more efficient.

Just because some people prefer Hive, doesn’t necessarily mean that you should discount Presto. It works well when used as intended. Presto processes tasks quickly. Just don’t ask it to do too much at once. If you do, you run the risk of failure.

 Xplenty Offers a Better Alternative for ETL

If you don’t have an extensive technical background, Presto vs Hive may seem like a moot argument. You don’t know enough SQL to write custom code, so why would that matter to you? It does matter to plenty of people, but others will just shrug.

Xplenty builds a bridge between people who have and do not have strong technical backgrounds. The ETL solution has a no-code and low-code platform. People without coding experience can use Xplenty to extract, transform, and load data with minimal training. Professionals who know how to code can write custom commands for their projects. It gives your organization the best of both worlds.

Xplenty also helps solve the data failure issue. It can extract multiple data formats from several databases simultaneously. Failures only happen when a logical error occurs in the data pipeline. Xplenty’s platform alerts users when these issues happen, so you can fix them easily.

If you want a straightforward ETL solution that works well for practically every member of your organization, contact Xplenty for a demo and a risk-free 7-day trial. Once you see how easy it works for everyone, you will wonder why you ever worried about choosing between Presto and Hive.