kafka源连接器中设置动态模式名

3ks5zfa0  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(388)

我正在使用sap hana源连接器 "connector.class":"com.sap.kafka.connect.source.hana.HANASourceConnector" 将数据导入Kafka主题。
我想为连接器创建的avro模式指定一个名称/命名空间。因此,我使用了 SetSchemaMetadata 函数转换架构名称。
以下是我的连接器配置示例:

"key.converter.schemas.enable": true,
 "key.converter": "io.confluent.connect.avro.AvroConverter",
 "key.converter.schema.registry.url": "http://xx.xx.xx/schema/",
 "key.converter.enhanced.avro.schema.support": true,
 "value.converter": "io.confluent.connect.avro.AvroConverter",
 "value.converter.schema.registry.url": "http://xx.xx.xx/schema/",
 "value.converter.enhanced.avro.schema.support": true,

 "transforms":"SetSchemaMetadata",
 "transforms.SetSchemaMetadata.type":"org.apache.kafka.connect.transforms.SetSchemaMetadata$Value",
 "transforms.SetSchemaMetadata.schema.name":"com.company.kafka.avro.table",

 "table1.table.name": "\"database\".\"schema.table1\"",
 "table2.table.name": "\"database\".\"schema.table2\"",

这将导致两个模式(table1值和table2值)的名称空间都是“com.company.kafka.avro”和“table”
是否有办法使模式名与主题名相同?比如: "transforms.SetSchemaMetadata.schema.name":"com.company.kafka.avro.${topic}", 或者,对于每个主题和模式,是否都要手动指定它?

siv3szwd

siv3szwd1#

我知道没有直接的方法可以做到这一点。而是为每个表创建一个单独的连接器。

相关问题