我们创建了一个快速的概念验证,以将 DynamoDB 表中的更改流式传输到 Lambda 函数。此函数执行一些基本的 ETL 处理并将记录放在 Firehose 上。这个 Firehose 将 Parquet 文件写入 S3,用于一些 Athena 查询。这对于插入非常有效且容易,但我想知道是否有处理删除或更新的提示或最佳实践。
我依稀记得在过去的一个 session 上,有人运行批处理作业来压缩数据并删除标记的数据,但我找不到这方面的任何细节。更改数据捕获是另一个术语,但我还没有看到这方面的明确示例。有没有一种方法可以处理此流式传输设置中的更新?
更新:我的问题措辞可能不太好,因为很多重点都放在了 S3 上。我真的在寻找一种流程来处理 DynamoDB 流中传入的删除和更新,将它们保存在某个地方,然后定期更新 Parquet 文件以反射(reflect)这些更新和删除。也许还需要一些压实,但在我的实验的这个阶段“很高兴”。
最佳答案
根据我对您的问题的理解,您想要处理 s3 上的文件,因此我建议您使用 AWS Glue。您可以根据自己的要求创造就业机会。
如果您使用 Amazon S3 存储桶作为数据源,AWS Glue Studio 会从其中一个文件或使用您指定的文件作为示例文件来检测指定位置的数据架构。
请引用:https://docs.aws.amazon.com/glue/latest/ug/edit-jobs-source-s3-files.html
关于amazon-web-services - 在 Parquet 文件中将数据流式传输到 S3 时 DynamoDB 的删除和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68206378/