相关疑难解决方法(0)

“$path”是否限制 Athena 扫描的数据量?

主要问题:

我似乎无法找到有关 $path 在 Athena 的 where 子句中使用时如何工作的明确信息。

select * from <database>.<table> where $path = 'know/path/'
Run Code Online (Sandbox Code Playgroud)

给定存储桶顶层的表定义,如果没有指定分区但存储桶是使用前缀组织的,它是否会扫描整个表?还是像分区一样将扫描限制在指定路径?有没有参考官方声明?

具体案例:

我有信息存储在s3中,这些信息需要每天统计和查询一两次,前缀是两个不同的ID(s3:bucket/IDvalue1/IDvalue2/),然后是包含相关数据的文件。在某一天,可能会创建任意数量的新文件夹(在繁忙的日子里可能会创建数万个)或将新文件添加到现有前缀中。因此,保持分区目录最新似乎有点复杂。

一种避免分区的建议方法是在从已知的 ID 组合获取数据时使用 $path,但我似乎无法确定使用这种方法实际上是否会限制每个查询扫描的数据量。我读到一条评论说它没有,但我在文档中找不到它,想知道是否有人知道它是如何工作的并且可以指出正确的参考。

到目前为止,谷歌搜索和阅读文档还没有澄清这一点。

amazon-s3 amazon-web-services amazon-athena

2
推荐指数
1
解决办法
949
查看次数