Impala Reserved Words

The following are the reserved words for the current release of Impala. A reserved word is one that
cannot be used directly as an identifier; you must quote it with backticks. For example, a statement
CREATE TABLE select (x INT) fails, while CREATE TABLE `select` (x INT)
succeeds. Impala does not reserve the names of aggregate or scalar built-in functions. (Formerly, Impala did
reserve the names of some aggregate functions.)

Because different database systems have different sets of reserved words, and the reserved words change from
release to release, carefully consider database, table, and column names to ensure maximum compatibility
between products and versions.

Because you might switch between Impala and Hive when doing analytics and ETL, also consider whether
your object names are the same as any Hive keywords, and rename or quote any that conflict. Consult the
list of Hive keywords.

Planning for Future Reserved Words

The previous list of reserved words includes all the keywords
used in the current level of Impala SQL syntax.
To future-proof your code,
you should avoid additional words in case they
become reserved words if
Impala adds features in later releases.
This kind of planning can also help to avoid
name conflicts in case you port SQL from other systems that
have different sets of reserved words.

The following list contains additional words that you should
avoid for table, column, or other object names,
even though they are not currently reserved by Impala.