4

我将为这个站点制作一个简化的示例,但基本上我正在尝试编写一个 Athena 查询(由 Glue 爬虫加载的数据,意图在 Quicksight 中使用),这将允许我在 select 语句中扩展一个结构。

在我的示例中,假设我有一个my_table类似于以下内容的表:

id string,
scores struct<prediction:double,score:int>

但是由于我不知道该scores列在查询时的确切结构,因此我想在查询范围内对其进行扩展。

我已经尝试了很多东西的组合,但只使用结构内嵌套字段的确切名称似乎会产生结果,即

select results.id, results.scores.score, results.scores.prediction from my_table results

如果类似的东西select results.id, results.scores.* from my_table results有效,我会喜欢它,但不幸的是它没有。

4

1 回答 1

5

如果类似的东西select results.id, results.scores.* from my_table results有效,我会喜欢它,但不幸的是它没有。

您所要求的称为“通用所有字段参考”。自Presto 323起,它在 Presto 中可用。您可以从https://trino.io/download.html下载最新的 Presto 版本。

如果您使用的是 Athena,那么不幸的是,Athena 目前基于 Presto .172(3 年前发布),因此该功能不可用。在 Athena 升级之前,您无法在 SQL 级别应用任何解决方法。您需要在从 Athena 读取数据的应用程序中对此进行补偿。或者,您可以轻松地在 AWS 上部署最新的 Presto 版本

于 2019-09-11T19:58:49.723 回答