AWS DMS CDC任务未检测到列名和类型更改

时间:2020-02-24 10:16:36

标签: postgresql amazon-s3 parquet cdc aws-dms

我创建了一个CDC任务,该任务捕获源PostgreSQL模式中的更改并将其以Parquet格式写入目标S3存储桶中。该任务可以正确捕获插入,更新和删除,但无法捕获列名称和源中的类型更改。

当我在源中更改列名或表的类型并将新行插入到表中时,生成的Parquet文件将使用旧的列名和类型。

我是否缺少特定的配置?还是无法从DMS中完成此任务?

2 个答案:

答案 0 :(得分:1)

如果您在源处更改列,则DMS将自动从源中选择并在目标处进行更新。检查您的DMS设置。您无需手动在目标位置添加列

enter image description here

答案 1 :(得分:0)

确保在任务设置中将HandleSourceTableAltered参数设置为true。[1] (当目标元数据参数BatchApplyEnabled设置为true或false时,该设置适用。)

如果与您的情况相关,则HandleSourceTableDroppedHandleSourceTableTruncated也一样。

很显然,先前在S3上复制的Parquet文件不会更改以反映源上的DDL更改。

[1] https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling.html