Known Limitations

The Presto query engine has some limitations compared to Hive at this stage. We welcome your feedback and will make improvements based on these.

Table of Contents

Column Name Escaping

When a column name matches the name of a reserved keyword, the name of the columns needs to be quoted. While in Hive, as most the SQL-based query languages, the quotation character is the back tick character `, in Presto quoting of a column name is accomplished with the double quote character instead . See the comparison below:

SELECT `join` FROM mytbl      # Hive
SELECT "join" FROM mytbl      # Presto

Please be aware that quoting a column name in single quotes will make the query parser interpret the content as a simple string producing a perhaps unexpected result:

SELECT "join" FROM mytbl LIMIT 10

result:
value1
value2
value3
value4
...
value10

SELECT 'join' FROM mytbl

result:
join
join
join
join
...
join

Table Schemas are Required

When querying via Presto, you must set a Schema for the table(s); the v syntax doesn’t work.

JOIN Order

Presto does not currently support cost-based JOIN optimizations, meaning JOINs are not automatically reordered based on table size. Please make sure that smaller tables are on the right hand size of JOIN, and they must fit in memory. Otherwise out of memory exceptions will cause the query to fail.

SELECT
  ...
FROM
  large_table
JOIN
  small_table

INSERT OVERWRITE Statements are NOT Supported

Presto does not currently support INSERT OVERWRITE Statements. Please delete table before INSERT INTO.


Last modified: Jun 09 2015 09:17:18 UTC

If this article is incorrect or outdated, or omits critical information, please let us know. For all other issues, please see our support channels.