首页 > 解决方案 > AWS Athena 错误:CREATE TABLE 上的 INTERNAL_ERROR_QUERY_ENGINE

问题描述

我正在尝试在 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 语句,它会成功运行。

标签: amazon-web-servicesamazon-athena

解决方案


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

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


推荐阅读