我正在使用JDBC kafka连接器将数据从oracle提取到kafka主题。我有小写定义的主题名称。但是,由于默认情况下属性是用引号定义的,因此Oracle会将所有内容都区分大小写。我也设置了quote.sql.identifiers = NEVER,但是它对我不起作用。我剩下的唯一方法就是转换主题名称。
topic.prefix = ab_gh.cc_kk_gh。
table.whitelist = XGH_YTUG_GHH
因此主题名称即将显示为ab_gh.cc_kk_gh.XGH_YTUG_GHH,但我需要ab_gh.cc_kk_gh.xgh_ytug_ghh 基本上,我需要将小写的表名附加到topic.prefix。
请帮助
答案 0 :(得分:0)
您可以使用转换来做到这一点:
添加带有值的静态字段,taht将用作主题名称。使用
ExtractTopic转换以设置从消息中提取的主题名称
示例配置如下:
{
...
"transforms": "InsertTableName, ExtractTopic",
"transforms.InsertTableName.type": "org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.InsertTableName.static.field": "newTopicName",
"transforms.InsertTableName.static.value": "ab_gh.cc_kk_gh.xgh.ytug.ghh",
"transforms.ExtractTopic.type": "io.confluent.connect.transforms.ExtractTopic$Value",
"transforms.ExtractTopic.field": "newTopicName",
...
}