簡體   English   中英

如何在 JDBC Sink Connector 配置中添加多個主題並獲取多個目標表中的主題數據?

[英]How to add multiple topics in JDBC Sink Connector configuration and get topics data in multiple target tables?

下面是我的 JDBC-Sink 連接器配置:

connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
behavior.on.null.values=ignore
table.name.format=kafka_Address_V1, kafka_Attribute_V1
connection.password=***********
topics=Address,Attribute
task.max=3
batch.size=500
value.converter.value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy
value.converter.schema.registry.url=http://localhost:8081
auto.evolve=true
connection.user=user
name=sink-jdbc-connector
errors.tolerance=all
auto.create=true
value.converter=io.confluent.connect.avro.AvroConverter
connection.url=jdbc:sqlserver://localhost:DB;
insert.mode=upsert
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=http://localhost:8081
pk.mode=record_value
pk.fields=id

如果我使用此配置,我將在目標數據庫中以這種 kafka_Address_V1、kafka_Attribute_V1 格式獲取單個表,這是這兩者的組合。

在此處輸入圖像描述

請讓我知道如何使用 JDBC-Sink 連接器將不同的主題數據存儲在不同的表中。

根據docstable.name.format采用單個值,並默認使用主題名稱本身。

要實現您想要的,您可以使用RegExRouter Single Message Transform將主題修改為由 Kafka Connect 處理

嘗試這個:

transforms                             =changeTopicName
transforms.changeTopicName.type        =org.apache.kafka.connect.transforms.RegexRouter
transforms.changeTopicName.regex       =(.*)
transforms.changeTopicName.replacement =kafka_$1_V1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM