首页 > 解决方案 > 为什么雅典娜不从冰川(s3)存储中读取?

问题描述

我在基础数据 s3 上创建了外部表。并将 table1 指向 s3 标准存储,将 table2 指向冰川存储。Table1 正在读取数据,但不是 table2。谁能解释为什么?

标签: amazon-athena

解决方案


Glacier 存储类中的 S3 对象无法以与普通对象相同的方式访问,它们需要从 Glacier 中检索,然后才能读取 - 这需要特殊的 API 调用,而且还需要花钱。

Athena 正在从 S3 读取对象,就像您使用 S3 API 一样,这意味着使用 Glacier 存储类读取对象不起作用。

Athena 甚至尝试读取 Glacier 对象也没有任何意义,因为检索时间长于 Athena 查询的最大查询持续时间。


更新:在2019 年 2 月 18 日的发行说明中,它说 Athena 现在忽略转换到 Glacier 的对象,而不是使查询失败。更改可能更早生效,因为版本通常在不同时间在不同地区发布,并且发行说明只有在完全部署后才会更新。


推荐阅读