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 docs on transformation上,似乎某些转换(例如drop
)可以在键或值上起作用,因此区分...$Key
和{{1 }},并在文档中都给出了示例。
但是,对于像...$Value
这样的转换,从技术上讲,谈论insert
或...$Key
没有任何意义,因此文档仅提供了...$Value
的示例。 / p>
答案 0 :(得分:1)
Kafka记录的键和值均能够保存结构化数据。因此,插入转换对这两者都适用,原因与drop
相同。