从 Postgres table 到具有更新跟踪的 KSQL table

From Postgres table to KSQL table with updates tracking

我的任务是将数据从 Postgres table 传输到 KSQL table(以便将来与流连接)。假设 table 有三个记录:

id | name   | description
-------------------------
1  | name1  | description1
2  | name2  | description2
3  | name3  | description3

通过Kafka JdbcSourceConnector很容易做到。但是有一个小问题 - table 中的数据可能会被更改。更改也必须在 KTable 中。

根据文档,除了批量模式外,没有其他方法可以跟踪更改。但是批量模式绝对获取所有行并将它们插入到主题中。

我想为连接器设置批量模式。为该主题创建一个 KSream。为该流创建一个 KTable...

在这里我不知道该怎么办。如何确保 Postgres table 中的更改也在 KTable 中?

批量模式可以工作,您只需定义流的键,然后新的批量写入将更新相同键的KTable。换句话说,您需要确保数据库中的主键不会更改


或者,Debezium 是 Kafka Connect 的 CDC 版本。

正如您所说,

JDBC 源不捕获 UPDATE 查询。

Debezium 将生成包含修改行的先前版本和新版本的记录