【发布时间】:2021-01-30 12:51:48
【问题描述】:
我正在处理 AWS Athena 中的数据,并且正在尝试匹配一些输入数据的结构。这涉及一个嵌套结构,其中“from”是一个键。这始终会引发错误。
我已将问题缩小到当您尝试将保留关键字用作行中的键时 Athena 查询不起作用这一事实。以下示例演示了这种行为。
-
这个简单的案例
SELECT CAST(ROW(1) AS ROW("from" INTEGER))失败并出现以下错误:GENERIC_INTERNAL_ERROR: Unable to create class com.facebook.presto.execution.TaskInfo from JSON response: [io.airlift.jaxrs.JsonMapperParsingException: Invalid json for Java type -
这个简单的案例运行成功:
SELECT CAST(ROW(1) AS ROW("work" INTEGER))
Athena 文档说将保留关键字括在双引号中以在 SELECT 语句中使用它们,但上面的示例表明,当使用关键字作为行中的键时查询仍然失败。
我知道我还有其他选择,但这种方式是迄今为止最方便的。有没有办法在这种情况下使用保留关键字?
【问题讨论】:
-
这是 Presto 中的一个已知问题,在此处跟踪:github.com/prestosql/presto/issues/5502
标签: presto amazon-athena