问题
Kafka 关于 Kafka Connect Transformation 的文档指出:
使用为记录键 (
org.apache.kafka.connect.transforms.InsertField$Key
( 或值 (org.apache.kafka.connect.transforms.InsertField$Value
设计的具体转换类型
...InsertField$Key
和...InsertField$Value
有什么区别,我们什么时候使用?
此外,一般来说,拥有...$Key
和...$Value
的语义目的是什么?(我想对于某些转换,它可能适用于键或值。
详
上面关于 Kafka Connect 的文档部分提供了如何使用org.apache.kafka.connect.transforms.InsertField
转换的示例。示例的一部分需要将转换类型设置为org.apache.kafka.connect.transforms.InsertField$Value
。
除了上面引用的那行之外,没有提到其他任何地方org.apache.kafka.connect.transforms.InsertField$Key
。我想不出需要org.apache.kafka.connect.transforms.InsertField$Key
的情况,或者它将如何以不同的方式工作。
我看过的地方
在关于转换的 Confluent 文档中,似乎某些转换(例如,drop
(可以处理键或值,因此区分...$Key
和...$Value
是有意义的,文档中给出了两者的示例。
但是,对于像insert
这样的转换,从技术上讲谈论...$Key
或...$Value
是没有意义的,因此文档只提供了...$Value
的例子。
Kafka 记录的键和值都能够保存结构化数据。因此,插入转换适用于两者,原因与删除相同