在雅典娜创造一张桌子;它给了我以下例外:
输入时没有可行的选择
不幸的是,目前语法验证错误消息在Athena中不是非常具有描述性,此错误可能意味着“几乎”在create table语句中出现任何可能的语法错误。
虽然这很烦人,但您需要检查语法是否遵循Create table documentation
一些例子是:
表名中不允许连字符..(虽然向导允许它)..只需删除连字符,它就像一个魅力
当DDL的语法有一些愚蠢的错误时,通常会发生此错误。有几个答案可以解释基于状态的不同错误。此问题的简单解决方案是耐心地查看DDL并逐行验证以下几点: -
在我的情况下,这是因为表格中最后一列之后的尾随逗号。例如:
CREATE EXTERNAL TABLE IF NOT EXISTS my_table (
one STRING,
two STRING,
) LOCATION 's3://my-bucket/some/path';
我删除了two STRING,
末尾的逗号后,它工作正常。
在我的例子中,它是PARTITIONED BY部分中的额外逗号,
就我而言,我错过了S3 URL的单引号
就我而言,根据AWS文档,其中一个表列名称用单引号括起来:(('bucket')