我们有一个 dynamodb 数据库,希望每晚将数据导出到新的 redshift 数据库临时表。理想情况下,我认为最好只导出上次加载后的插入或更新,否则我们每晚都会导出大量数据。只是想知道解决这个问题的最佳方法。目前我们使用 Fivetran etl 将数据导出到 postgres 数据库。
我已经研究过使用glue etl将数据写入s3或直接写入redshift,但我没有看到glue etl仅选择最近几天数据的选项。此外,表本身没有名为 last_update_date 的字段,但我想知道该信息是否存储在某个地方以供使用,正如我在 dynamodb 表中单击增量导出时看到的那样,我可以选择时间段。
您的最佳选择是使用新发布的 Zero ETL to Redshift 功能,该功能目前处于预览阶段: https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-dynamodb-zero-etl-integration-redshift/
下一个最佳选择是使用增量导出。这将导出数据更改集,其中包括修改项目时的时间戳。它还仅保存项目的最终图像,不包含选定时间段内单个项目的所有更改。
https://aws.amazon.com/about-aws/whats-new/2023/09/incremental-export-s3-amazon-dynamodb/