0

我的管道背后的想法是反映从 MySQL 到 PostgreSQL 数据库的变化。将来我还会有一个 Oracle 到 PostgreSQL 的复制。

因此,从这个论坛和 SDC 文档中,我看到正确的做法是使用 CDC 起源。所以我使用的是 MySQL 二进制日志。我能够构建一个处理 3 个 CRUD 操作(INSERT、DELETE、UPDATE)的管道,但它使用了多个处理器(字段移除器、扁平化器、流选择器、字段重命名器等):

SDC 管道 - CRUD 操作

从我在 JDBC Producer 的配置中看到的,这个目的地应该能够直接从从 MySQL 二进制日志源读取的流中处理 MySQL 二进制日志,对吧?只需将 JDBC Producer 中的 Change Log Format 设置为 MySQL Binary Log:

SDC 管道 - MySQL 二进制日志选项

但即使我这样做了,管道运行没有错误,但 PostgreSQL 目标中的数据没有更改。

我错过了什么吗?是否有必要在将来自 MySQL 二进制日志源的流发送到 JDBC Producer 之前对其进行处理?如果是这样,必须做什么?

4

1 回答 1

0

这是Ask StreamSets 给出的答案

没错,JDBC Producer 可以直接从 MySQL Binlog Origin 处理 CDC 记录。当您运行预览或拍摄快照时,您会看到什么样的记录?您还看到 sdc.log 中的 INSERT、DELETE、UPDATE 吗?

于 2018-03-15T18:57:26.077 回答