让我们假设我有一个像下面这样的表'student',并使用Debezium MySQL源连接器和JDBC接收器连接器。
| ID|类ID|名称|年龄|
| --|--|--|--|
| 1 | 1 |爱丽丝| 15 |
| 2 | 1 |鲍勃| 16 |
| 3 | 2 |“查理”| 15 |
当我CDC这个表时,我只希望'id'和'class_id'列增加10亿。
CDC(变更数据捕获)的高级架构图如下所示。
DB1(MySQL)-> MySQL source connector(Debezium)-> Kafka ->(Unwrap SMT)->(RegexRouter SMT)-> JDBC sink connector ->(?)-> DB2(MySQL)
- Unwrap SMT用于转换Debezium更改事件格式,使其与JDBC接收器连接器兼容
- RegexRouter SMT用于将主题名称更改为我希望同步到的目标表
- 我只是想在我想要的特定字段(列)上放置特定的SMT以增加10亿。
是将任何开箱即用的SMT放置在“(?)”部件上来实现它,还是我应该只实现自定义SMT?
1条答案
按热度按时间ovfsdjhp1#
你可以在Kafka Streams中完成,或者使用ksqlDB或其他流处理框架。否则,如果你需要在写入Kafka之前处理数据,而这些数据与内置转换不匹配,你需要自己的转换