我试图阅读2Kafka主题使用jdbc接收器连接器和upsert到2个oracle表,我手动创建它。每个表有一个主键,我想在upsert模式下使用它。连接器工作正常,如果我只使用一个主题和一个字段中 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
1条答案
按热度按时间scyqe7ek1#
如果pk不同,只需创建两个不同的接收器连接器。它们都可以在同一个kafka连接工作进程上运行。
您还可以选择使用Kafka信息本身的密钥。更多信息请参见文档。这是一个更具可伸缩性的选项,然后您只需要确保您的消息被正确地设置了密钥,这样就可以向下流到jdbc接收器。