AWS Athena 错误:CREATE TABLE 时出现 INTERNAL_ERROR_QUERY_ENGINE。

3

我正在尝试在AWS Athena上执行以下查询:

CREATE TABLE IF NOT EXISTS salesforce_processed."case"
WITH (
    format = 'JSON',
    external_location = 's3://path/to/my/bucket/',
    partitioned_by = ARRAY['dt_obs']
)
AS
SELECT
    nullif(trim("case".id), '') AS "id" , 
    try(cast(date_parse("case".dt_obs, '%Y-%m-%d') as date)) as "dt_obs"
FROM salesforce_raw."case" as "case"

但是它返回以下错误信息: [ErrorCode: INTERNAL_ERROR_QUERY_ENGINE] 当执行此查询时,Amazon Athena 发生了内部错误。请联系 AWS 支持以获取进一步帮助。本次查询不会收取费用。我们为给您带来的不便道歉。

没有其他的错误信息,如果我单独执行 select 语句,则可以成功运行。

1个回答

0

我在Athena引擎版本2上遇到了这个问题。在我的查询中,try()函数是罪魁祸首。我之前的查询在v1引擎上运行良好,所以我怀疑升级到v2是原因。

我找到的唯一解决方案是重写查询以避免使用try()


是的,我的查询中“case”这个单词是问题所在。解决方法是使用转义字符(`)。文档:https://docs.aws.amazon.com/athena/latest/ug/reserved-words.html - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接