在创建 Athena 表时,会出现以下异常信息:
在输入中没有可行的替代方案
在输入中没有可行的替代方案
表名中不允许出现连字符(虽然向导允许),只需删除连字符即可轻松解决问题。
2017_04_03_some_data
。我将其更改为some_data_20170403
,然后它就可以工作了。 - Jonathan Morales Vélez'-'
列名的表时遇到了相同的错误。 - campeterson)
。 :) - ChikuMiku很遗憾,目前 Athena 的语法验证错误信息并不太具有描述性,这个错误可能意味着在创建表语句中存在几乎任何可能的语法错误。
虽然目前这很恼人,但您需要检查语法是否遵循创建表文档
一些例子包括:
>
。 - CorayThan这个错误通常发生在DDL的语法存在一些小错误时。有几个答案解释了不同状态下的不同错误。解决这个问题的简单方法是仔细查看DDL并逐行验证以下几点:
CREATE EXTERNAL TABLE IF NOT EXISTS my_table (
one STRING,
two STRING,
) LOCATION 's3://my-bucket/some/path';
在我去掉了two STRING,
末尾的逗号后,它正常工作了。
反斜杠。我的问题出在反斜杠上。我有来自 Athena 的 DDL,保存为 Python 字符串。
WITH SERDEPROPERTIES (
'escapeChar'='\\',
'quoteChar'='\"',
'separatorChar'=',')
被改为
WITH SERDEPROPERTIES (
'escapeChar'='\',
'quoteChar'='"',
'separatorChar'=',')
一切都崩溃了。
必须做到:
WITH SERDEPROPERTIES (
'escapeChar'='\\\\',
'quoteChar'='\\\"',
'separatorChar'=',')