You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kafka Connect自定义转换:仅单次添加静态字段而非全字段

Kafka Connect 静态字段添加配置方案

首先需要修正你给出的目标数据结构,原始示例存在JSON语法错误,合法的结构应该是将原始表数据作为一个子字段(比如data),或者直接与静态字段平级。以下是两种场景的可行配置:

场景1:原始数据作为子字段,外层添加静态字段

目标输出:

{"id":"123", "type":"test" , "timestamp":"1234567", "data": {"author": "Philip K. Dick", "character": "Palmer Eldritch"}}

连接器配置片段:

# 定义转换顺序:先包裹原始数据,再添加静态字段
transforms=wrapData,insertId,insertType,insertTimestamp

# WrapField转换:将原始表数据包裹到"data"字段
transforms.wrapData.type=org.apache.kafka.connect.transforms.WrapField$Value
transforms.wrapData.field=data

# 添加静态id字段
transforms.insertId.type=org.apache.kafka.connect.transforms.InsertStatic$Value
transforms.insertId.field=id
transforms.insertId.value=123

# 添加静态type字段
transforms.insertType.type=org.apache.kafka.connect.transforms.InsertStatic$Value
transforms.insertType.field=type
transforms.insertType.value=test

# 添加静态timestamp字段
transforms.insertTimestamp.type=org.apache.kafka.connect.transforms.InsertStatic$Value
transforms.insertTimestamp.field=timestamp
transforms.insertTimestamp.value=1234567

场景2:静态字段与原始字段平级

目标输出:

{"id":"123", "type":"test", "timestamp":"1234567", "author": "Philip K. Dick", "character": "Palmer Eldritch"}

连接器配置片段:

# 定义转换链
transforms=insertId,insertType,insertTimestamp

# 添加静态id字段
transforms.insertId.type=org.apache.kafka.connect.transforms.InsertStatic$Value
transforms.insertId.field=id
transforms.insertId.value=123

# 添加静态type字段
transforms.insertType.type=org.apache.kafka.connect.transforms.InsertStatic$Value
transforms.insertType.field=type
transforms.insertType.value=test

# 添加静态timestamp字段
transforms.insertTimestamp.type=org.apache.kafka.connect.transforms.InsertStatic$Value
transforms.insertTimestamp.field=timestamp
transforms.insertTimestamp.value=1234567

关键说明

  • 每个InsertStatic$Value转换负责添加一个独立的静态字段,通过field指定字段名,value指定静态值,只会在消息值的最外层添加一次,不会重复添加到所有列。
  • WrapField$Value用于将原始表数据包裹到子字段,避免字段名冲突,同时让结构更清晰。

内容的提问来源于stack exchange,提问作者Priyanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:20:34