This topic lists the reserved words in Impala.
CREATE TABLE select (x INT)
: fails
CREATE TABLE `select` (x INT)
: succeeds
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.
Also consider whether your object names are the same as any Hive keywords, and rename or quote any that conflict as you might switch between Impala and Hive when doing analytics and ETL. Consult the list of Hive keywords.
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 Future Keyword column in the table below indicates those additional words that you should avoid for table, column, or other object names, even though they are not currently reserved by Impala.
The following is a summary of the process for deciding whether a particular SQL 2016 word is to be reserved in Impala.
Keyword | Reserved in SQL:2016 |
Reserved in Impala 2.12 and lower |
Reserved in Impala 3.0 and higher |
Future Keyword |
abs |
X | |||
acos |
X | |||
add |
X | X | ||
aggregate |
X | X | ||
all |
X | X | X | |
allocate |
X | X | ||
alter |
X | X | X | |
analytic |
X | X | ||
and |
X | X | X | |
anti |
X | X | ||
any |
X | X | ||
api_version |
X | |||
are |
X | X | ||
array |
X | X | X | |
array_agg |
X | X | ||
array_max_cardinality |
X | X | ||
as |
X | X | X | |
asc |
X | X | ||
asensitive |
X | X | ||
asin |
X | |||
asymmetric |
X | X | ||
at |
X | X | ||
atan |
X | |||
atomic |
X | X | ||
authorization |
X | X | ||
avg |
X | |||
avro |
X | X | ||
backup |
X | |||
begin |
X | X | ||
begin_frame |
X | X | ||
begin_partition |
X | X | ||
between |
X | X | X | |
bigint |
X | X | X | |
binary |
X | X | X | |
blob |
X | X | ||
block_size |
X | |||
boolean |
X | X | X | |
both |
X | X | ||
break |
X | |||
browse |
X | |||
buckets |
X | |||
bulk |
X | |||
by |
X | X | X | |
cache |
||||
cached |
X | X | ||
call |
X | |||
called |
X | X | ||
cardinality |
X | X | ||
cascade |
X | X | ||
cascaded |
X | X | ||
case |
X | X | X | |
cast |
X | X | X | |
ceil |
X | |||
ceiling |
X | |||
change |
X | X | ||
char |
X | X | X | |
char_length |
X | |||
character |
X | X | ||
character_length |
X | |||
check |
X | X | ||
checkpoint |
X | |||
class |
X | X | ||
classifier |
X | |||
clob |
X | X | ||
close |
X | X | ||
close_fn |
X | |||
clustered |
X | |||
coalesce |
X | X | ||
collate |
X | X | ||
collect |
X | X | ||
column |
X | X | X | |
columns |
X | X | ||
comment |
X | X | ||
commit |
X | X | ||
compression |
X | X | ||
compute |
X | X | ||
condition |
X | X | ||
conf |
||||
connect |
X | X | ||
constraint |
X | X | ||
contains |
X | X | ||
continue |
X | |||
convert |
X | X | ||
copy |
X | X | ||
corr |
X | X | ||
corresponding |
X | X | ||
cos |
X | |||
cosh |
X | |||
count |
X | |||
covar_pop |
X | X | ||
covar_samp |
X | X | ||
create |
X | X | X | |
cross |
X | X | X | |
cube |
X | X | ||
cume_dist |
X | |||
current |
X | X | X | |
current_catalog |
X | |||
current_date |
X | X | ||
current_default_transform_group |
X | X | ||
current_path |
X | X | ||
current_role |
X | X | ||
current_row |
X | X | ||
current_schema |
X | X | ||
current_time |
X | X | ||
current_timestamp |
X | X | ||
current_transform_group_for_type |
X | X | ||
current_user |
X | X | ||
cursor |
X | X | ||
cycle |
X | X | ||
data |
X | X | ||
database |
X | X | ||
databases |
X | X | ||
date |
X | X | X | |
datetime |
X | X | ||
day |
X | |||
dayofweek |
||||
dbcc |
X | |||
deallocate |
X | X | ||
dec |
X | X | ||
decfloat |
X | X | ||
decimal |
X | X | X | |
declare |
X | X | ||
default |
X | X | X | |
define |
X | X | ||
delete |
X | X | X | |
delimited |
X | X | ||
dense_rank |
X | |||
deny |
X | |||
deref |
X | X | ||
desc |
X | X | ||
describe |
X | X | X | |
deterministic |
X | X | ||
disable |
X | X | ||
disconnect |
X | X | ||
disk |
X | |||
distinct |
X | X | X | |
distributed |
X | |||
div |
X | X | ||
double |
X | X | X | |
drop |
X | X | X | |
dump |
X | |||
dynamic |
X | X | ||
each |
X | X | ||
element |
X | X | ||
else |
X | X | X | |
empty |
X | X | ||
enable |
X | X | ||
encoding |
X | X | ||
end |
X | X | X | |
end-exec |
X | X | ||
end_frame |
X | X | ||
end_partition |
X | X | ||
equals |
X | X | ||
errlvl |
X | |||
escape |
X | X | ||
escaped |
X | X | ||
every |
X | X | ||
except |
X | X | ||
exchange |
||||
exec |
X | X | ||
execute |
X | X | ||
exists |
X | X | X | |
exit |
X | |||
exp |
X | |||
explain |
X | X | ||
extended |
X | X | ||
external |
X | X | X | |
extract |
X | |||
false |
X | X | X | |
fetch |
X | X | ||
fields |
X | X | ||
file |
X | |||
filefactor |
X | |||
fileformat |
X | X | ||
files |
X | X | ||
filter |
X | X | ||
finalize_fn |
X | |||
first |
X | X | ||
first_value |
X | |||
float |
X | X | X | |
floor |
X | |||
following |
X | X | ||
for |
X | X | X | |
foreign |
X | X | ||
format |
X | X | ||
formatted |
X | X | ||
frame_row |
X | X | ||
free |
X | X | ||
freetext |
X | |||
from |
X | X | X | |
full |
X | X | X | |
function |
X | X | X | |
functions |
X | X | ||
fusion |
X | X | ||
get |
X | X | ||
global |
X | X | ||
goto |
X | |||
grant |
X | X | X | |
group |
X | X | X | |
grouping |
X | X | ||
groups |
X | X | ||
hash |
X | X | ||
having |
X | X | X | |
hold |
X | X | ||
holdlock |
X | |||
hour |
X | |||
hudiparquet |
X | |||
iceberg |
X1 | |||
identity |
X | X | ||
if |
X | X | ||
ignore |
X | X | ||
ilike |
X | X | ||
import |
||||
in |
X | X | X | |
incremental |
X | X | ||
index |
X | |||
indicator |
X | X | ||
init_fn |
X | |||
initial |
X | X | ||
inner |
X | X | X | |
inout |
X | X | ||
inpath |
X | X | ||
insensitive |
X | X | ||
insert |
X | X | X | |
int |
X | X | X | |
integer |
X | X | X | |
intermediate |
X | X | ||
intersect |
X | X | ||
intersection |
X | X | ||
interval |
X | X | X | |
into |
X | X | X | |
invalidate |
X | X | ||
iregexp |
X | X | ||
is |
X | X | X | |
join |
X | X | X | |
jsonfile |
X | |||
json_array |
X | X | ||
json_arrayagg |
X | X | ||
json_exists |
X | X | ||
json_object |
X | X | ||
json_objectagg |
X | X | ||
json_query |
X | X | ||
json_table |
X | X | ||
json_table_primitive |
X | X | ||
json_value |
X | X | ||
key |
X | |||
kill |
X | |||
kudu |
X | X | ||
lag |
X | |||
language |
X | |||
large |
X | X | ||
last |
X | X | ||
last_value |
X | |||
lateral |
X | X | ||
lead |
X | |||
leading |
X | X | ||
left |
X | X | X | |
less |
||||
lexical |
X | |||
like |
X | X | X | |
like_regex |
X | X | ||
limit |
X | X | ||
lineno |
X | |||
lines |
X | X | ||
listagg |
X | X | ||
ln |
X | |||
load |
X | X | ||
local |
X | X | ||
localtime |
X | |||
localtimestamp |
X | X | ||
location |
X | X | ||
log |
X | |||
log10 |
X | X | ||
lower |
X | |||
macro |
||||
map |
X | X | ||
managedlocation |
X | |||
match |
X | X | ||
match_number |
X | X | ||
match_recognize |
X | X | ||
matches |
X | X | ||
max |
X | |||
member |
X | |||
merge |
X | X | ||
merge_fn |
X | |||
metadata |
X | X | ||
method |
X | X | ||
min |
X | |||
minus |
X | X | ||
minute |
X | |||
mod |
X | |||
modifies |
X | X | ||
module |
X | |||
month |
X | |||
more |
||||
multiset |
X | X | ||
national |
X | X | ||
natural |
X | X | ||
nchar |
X | X | ||
nclob |
X | X | ||
new |
X | |||
no |
X | X | ||
nocheck |
X | |||
non |
X | |||
nonclustered |
X | |||
none |
X | X | ||
norely |
X | |||
normalize |
X | X | ||
not |
X | X | X | |
novalidate |
X | |||
nth_value |
X | X | ||
ntile |
X | |||
null |
X | X | X | |
nullif |
X | X | ||
nulls |
X | X | ||
numeric |
X | X | ||
occurrences_regex |
X | X | ||
octet_length |
X | X | ||
of |
X | X | ||
off |
X | |||
offset |
X | X | X | |
offsets |
X | |||
old |
X | |||
omit |
X | X | ||
on |
X | X | X | |
one |
X | X | ||
only |
X | X | ||
open |
X | X | ||
optimize |
X | X | ||
option |
X | |||
or |
X | X | X | |
orc |
X | |||
order |
X | X | X | |
out |
X | X | ||
outer |
X | X | X | |
over |
X | X | X | |
overlaps |
X | X | ||
overlay |
X | X | ||
overwrite |
X | X | ||
parameter |
X | |||
parquet |
X | X | ||
parquetfile |
X | X | ||
partialscan |
||||
partition |
X | X | X | |
partitioned |
X | X | ||
partitions |
X | X | ||
pattern |
X | X | ||
per |
X | X | ||
percent |
X | X | ||
percent_rank |
X | |||
percentile_cont |
X | X | ||
percentile_disc |
X | X | ||
period |
X | |||
pivot |
X | |||
plan |
X | |||
portion |
X | X | ||
position |
X | X | ||
position_regex |
X | X | ||
power |
X | |||
precedes |
X | X | ||
preceding |
X | X | ||
precision |
X | X | ||
prepare |
X | X | ||
prepare_fn |
X | |||
preserve |
||||
primary |
X | X | X | |
print |
X | |||
proc |
X | |||
procedure |
X | X | ||
produced |
X | X | ||
ptf |
X | X | ||
public |
X | |||
purge |
X | X | ||
raiseerror |
X | |||
range |
X | X | X | |
rank |
X | |||
rcfile |
X | X | ||
read |
X | |||
reads |
X | X | ||
readtext |
X | |||
real |
X | X | X | |
reconfigure |
X | |||
recover |
X | X | ||
recursive |
X | X | ||
reduce |
||||
ref |
X | X | ||
references |
X | X | ||
referencing |
X | X | ||
refresh |
X | X | ||
regexp |
X | X | ||
regr_avgx |
X | X | ||
regr_avgy |
X | X | ||
regr_count |
X | X | ||
regr_intercept |
X | X | ||
regr_r2 |
X | X | ||
regr_slope |
X | X | ||
regr_sxx |
X | X | ||
regr_sxy |
X | X | ||
regr_syy |
X | X | ||
release |
X | X | ||
rely |
X | |||
rename |
X | X | ||
repeatable |
X | X | ||
replace |
X | X | ||
replication |
X | X | ||
restore |
X | |||
restrict |
X | X | ||
result |
X | |||
return |
X | X | ||
returns |
X | X | X | |
revert |
X | |||
revoke |
X | X | X | |
right |
X | X | X | |
rlike |
X | X | ||
role |
X | X | ||
roles |
X | X | ||
rollback |
X | X | ||
rollup |
X | X | ||
row |
X | X | X | |
row_number |
X | |||
rowcount |
X | |||
rows |
X | X | X | |
rule |
X | |||
running |
X | X | ||
rwstorage |
X | |||
save |
X | |||
savepoint |
X | X | ||
schema |
X | X | ||
schemas |
X | X | ||
scope |
X | X | ||
scroll |
X | X | ||
search |
X | X | ||
second |
X | |||
securityaudit |
X | |||
seek |
X | X | ||
select |
X | X | X | |
selectivity |
X | |||
semi |
X | X | ||
sensitive |
X | X | ||
sequencefile |
X | X | ||
serdeproperties |
X | X | ||
serialize_fn |
X | |||
session_user |
X | X | ||
set |
X | X | X | |
sets |
X | X | ||
setuser |
X | |||
show |
X | X | X | |
shutdown |
X | |||
similar |
X | X | ||
sin |
X | |||
sinh |
X | |||
skip |
X | X | ||
smallint |
X | X | X | |
some |
X | X | ||
sort |
X | X | ||
spec |
X | |||
specific |
X | X | ||
specifictype |
X | X | ||
sql |
X | |||
sqlexception |
X | X | ||
sqlstate |
X | X | ||
sqlwarning |
X | X | ||
sqrt |
X | |||
start |
X | |||
static |
X | X | ||
statistics |
X | |||
stats |
X | X | ||
stddev_pop |
X | |||
stddev_samp |
X | |||
storagehandler_uri |
X | |||
stored |
X | X | ||
straight_join |
X | |||
string |
X | X | ||
struct |
X | X | ||
submultiset |
X | X | ||
subset |
X | X | ||
substring |
X | |||
substring_regex |
X | X | ||
succeeds |
X | X | ||
sum |
X | |||
symbol |
X | X | ||
symmetric |
X | X | ||
system |
X | |||
system_time |
X | X | ||
system_user |
X | X | ||
system_version |
X | |||
table |
X | X | X | |
tables |
X | X | ||
tablesample |
X | X | X | |
tan |
X | |||
tanh |
X | |||
tblproperties |
X | X | ||
terminated |
X | X | ||
textfile |
X | X | ||
textsize |
X | |||
then |
X | X | X | |
time |
X | |||
timestamp |
X | X | X | |
timezone_hour |
X | X | ||
timezone_minute |
X | X | ||
tinyint |
X | X | ||
to |
X | X | X | |
top |
X | |||
trailing |
X | X | ||
tran |
X | |||
transform |
||||
translate |
X | |||
translate_regex |
X | X | ||
translation |
X | X | ||
treat |
X | X | ||
trigger |
X | X | ||
trim |
X | |||
trim_array |
X | X | ||
true |
X | X | X | |
truncate |
X | X | X | |
try_convert |
X | |||
uescape |
X | X | ||
unbounded |
X | X | ||
uncached |
X | X | ||
union |
X | X | X | |
unique |
X | X | ||
uniquejoin |
||||
unknown |
X | X | X | |
unnest |
X | X | ||
unpivot |
X | |||
unset |
X | |||
update |
X | X | X | |
update_fn |
X | |||
updatetext |
X | |||
upper |
X | |||
upsert |
X | X | ||
use |
X | X | ||
user |
X | X | ||
user_defined_fn |
X | |||
using |
X | X | X | |
utc_tmestamp |
||||
validate |
X | X | ||
value |
X | |||
value_of |
X | X | ||
values |
X | X | X | |
var_pop |
X | |||
var_samp |
X | |||
varbinary |
X | X | ||
varchar |
X | X | X | |
varying |
X | X | ||
versioning |
X | X | ||
view |
X | X | ||
views |
||||
waitfor |
X | |||
when |
X | X | X | |
whenever |
X | X | ||
where |
X | X | X | |
while |
X | |||
width_bucket |
X | X | ||
window |
X | X | ||
with |
X | X | X | |
within |
X | X | ||
without |
X | X | ||
writetext |
X | |||
year |
X | |||
zorder |
X |