微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Athena 嵌套视图性能

如何解决Athena 嵌套视图性能

我有一个名为“Table_A”的 Athena 表,其中有数百万条记录,按天分区。 我有一个名为“View_A”的视图,它只不过是

select * from Table_A

没有任何过滤条件。

现在我需要另一个视图,它只能获取过去 5 天的数据。但由于某些内部原因,我不希望直接在“Table_A”之上创建这个新视图。

我想要在“View_A”之上的这个新视图。

假设新视图被命名为“View_five_days”,这是摘要

View_five_days 指向 View_A。

    create view view_five_days as select * from view_a where day > currentdate - 5

View_A 指向 Table_A

    create view view_a as select * from table_a

假设我在原始表 Table_A 中有 100 天的数据:当我执行以下操作时,Athena 是否会进行全表扫描:

select * from View_five_days

还是只扫描最近 5 天的数据?

解决方法

这取决于 Table_A 是否按日期分区。如果是,那么您可以使用适当的 where 子句定义视图,并且只扫描最近五天。否则,它将扫描完整日期列以找出哪些行满足过去五天的条件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。