在我的主题的Avro模式中,有两个字符串字段,field1
和field2
。当前是否可以在JDBC Sink连接器上使用内置的转换将这两个Avro字段合并到一个数据库列中(通过concat或带有分隔符的concat的奖励积分,例如.
或:
)?我熟悉一些基本的转换,例如:
transforms=myTransform
transforms.myTransform.type:org.apache.kafka.connect.transforms.InsertField$Value
transforms.myTransform.static.field:field2
transforms.myTransform.topic.value:field2
我实质上是在尝试进行这两个topic.value
查找,然后将它们合并为单个下游db列。
答案 0 :(得分:0)
不,我知道没有一个消息转换可以做到这一点。
您可以编写自己的代码,也可以使用ksqlDB实现相同的功能:
CREATE STREAM mysource WITH (KAFKA_TOPIC='source_topic', VALUE_FORMAT='AVRO');
CREATE STREAM concated WITH (KAFKA_TOPIC='target_topic'
AS SELECT field1 + '.' + field2 AS concat_field, *
FROM mysource
使用JDBC Sink连接器从那里流target_topic
(FWIW,如果需要,可以在ksqlDB中使用CREATE SINK CONNECTOR
进行流操作)