如何使用保留策略对S3存储桶进行EMRFS一致性查看



我使用的是AWS EMR计算集群(版本5.27.0(,它使用S3实现数据持久性。这个集群同时读取和写入S3。

S3存在最终一致性问题,因此在写入数据后,无法立即列出它。因此,我将EMRFS与DynamoDB一起用于存储新写入的路径,以便立即列出。

现在的问题是,我必须在S3上设置一个保留策略,因为超过一个月的数据将从S3中删除。然而,在这样做的过程中,数据不会从EMRFS-DynamoDB表中删除,从而导致一致性问题。

我的问题是,如何确保在S3中设置保留策略时,从DynamoDB表中删除相同的路径?

我想出的一个天真的解决方案是定义一个Lambda,它会定期触发,并手动在DynamoDB记录上设置TTL,比如1天。还有比这更好的方法吗?

您可以使用与S3对象具有相同的过期策略来配置DynamoDB

https://aws.amazon.com/blogs/aws/new-manage-dynamodb-items-using-time-to-live-ttl/

在这种情况下,您可以确保DynamoDB和S3都有相同的现有对象

最新更新