如何组合/concat两个jdbc接收器连接器转换?

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

在我的avro主题模式中,有两个字符串字段, field1 以及 field2 . 当前是否可以使用jdbc接收器连接器上的内置转换将这两个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列中。

djp7away

djp7away1#

不,我知道没有一个消息转换能做到这一点。
您可以自己编写,也可以使用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

从那里你流 target_topic 使用jdbc sink连接器(fwiw,如果需要,可以在ksqldb中使用 CREATE SINK CONNECTOR )

相关问题