我不时地在亚马逊S3上添加文件,我正在使用亚马逊雅典娜对这些数据执行查询,并将其保存在另一个S3存储桶中作为CSV格式(聚合数据),我正在尝试找到方法让雅典娜只选择新数据(这是雅典娜以前没有查询过的),以优化成本并避免数据重复。我尝试在被雅典娜选中后更新记录,但在雅典娜中不支持更新查询。有什么办法可以解决这个问题吗?
发布于 2020-09-07 17:25:14
雅典娜不会跟踪S3上的文件,它只会在您运行查询时找出要读取的文件。
在计划查询时,Athena将查看表位置的表元数据,列出该位置,最后读取它在查询执行期间找到的所有文件。如果表已分区,它将列出与查询匹配的所有分区的位置。
控制Athena在查询执行期间读取哪些文件的惟一方法是对一个表进行分区,并确保查询与您希望它读取的分区相匹配。
只读取新数据的一种常见方法是将数据放在S3上包含日期的前缀中,然后创建按日期分区的表。在查询时,您可以根据最近一周、最近一个月或其他时间段进行筛选,以限制读取的数据量。
你可以在about partitioning in the Athena documentation上找到更多信息。
https://stackoverflow.com/questions/63774719
复制相似问题