4

因此,我正在研究使用 Data Migration Service Chance Data Capture 可以实现什么,将数据从 MSSQL 转移到 S3 以及 Redshift。

红移测试很好,如果我删除源数据库中的记录,一两秒后该记录从红移中消失。与插入/更新等相同..

但是S3 ...您从第一次满载中获得原始记录。然后,如果您更新源中的记录,S3 会收到该记录的新副本,并标有“I”。
如果我删除一条记录,我会得到另一份标有“D”的记录副本。

所以我的问题是——我该怎么处理这一切?如何查询我的 S3 存储桶以查看我的数据集的“当前”状态以反映源数据库?

我是否必须自己编写一些代码来获取所有这些文件并处理它们,执行插入/更新和删除,直到我最终解析回“正常”数据集?

欢迎任何见解!

4

1 回答 1

3

包含“I”、“D”或“U”的记录实际上是 CDC 数据(变更数据捕获)。这有时被称为“历史”或“历史数据”。这种类型的数据在数据仓库中有一些应用,也可以在许多机器学习用例中使用。

现在来到下一点,为了获得数据集的“当前”状态,您必须自己编写脚本/编码。您可以使用 AWS Glue 来执行该任务。例如,这篇文章解释了类似的东西

如果您不想维护胶水代码,那么一个捷径就是不要直接将 s3 目标与 DMS 一起使用,而是使用 Redshift 目标,一旦应用了所有 CDC,使用 Redshift unload 命令将最终副本卸载到 S3 。

于 2019-09-14T00:40:29.190 回答