繁体   English   中英

使用 kafka-connect 从多个主题更新到多个表

[英]Upserting into multiple tables from multiples topics using kafka-connect

我正在尝试使用 JDBC 接收器连接器读取 2 个 kafka 主题并将其更新插入到我手动创建的 2 个 Oracle 表中。 每个表都有 1 个主键,我想在 upsert 模式下使用它。 如果我仅用于 1 个主题且仅用于pk.fields 1 个字段,则连接器工作正常,但如果我在pk.fields输入多个列,从每个表中pk.fields一个,则无法识别模式。 我是否缺少任何东西,请提出建议。

name=oracle_sink_prod
connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
tasks.max=1
topics=KAFKA1011,JAFKA1011
connection.url=URL
connection.user=UID
connection.password=PASSWD
auto.create=false
table.name.format=KAFKA1011,JAFKA1011
pk.mode=record_value
pk.fields= ID,COMPANY 
auto.evolve=true
insert.mode=upsert

//ID is pk of kafka1011 table and COMPANY is of other

如果 PK 不同,只需创建两个不同的接收器连接器。 它们都可以在同一个 Kafka Connect 工作器上运行。

您还可以选择使用 Kafka 消息本身的密钥。 有关更多信息,请参阅文档 这是更具可扩展性的选项,然后您只需要确保您的消息被正确键入以使其向下流到 JDBC Sink。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM