【问题标题】:Querying struct fields from AWS Athena/Presto从 AWS Athena/Presto 查询结构字段
【发布时间】:2020-01-13 11:42:45
【问题描述】:

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

在我的示例中,假设我有一个表 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 之类的东西有效,我希望它,但不幸的是它没有。

【问题讨论】:

    标签: presto amazon-athena aws-glue amazon-quicksight


    【解决方案1】:

    如果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 读取数据的应用程序中对此进行补偿。或者,您可以deploy recent Presto version on AWS easily

    【讨论】:

    • 请详细说明“通用所有字段引用”的语法,并举例说明。
    猜你喜欢
    • 2017-06-17
    • 2020-06-10
    • 2019-08-06
    • 1970-01-01
    • 2019-11-25
    • 2019-04-18
    • 2019-10-19
    • 2020-02-11
    • 2021-02-02
    相关资源
    最近更新 更多