【发布时间】:2020-04-16 15:31:31
【问题描述】:
问题
Kafka Connect Transformation 上的Kafka's Documentation 声明如下:
使用为记录键(
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 和...$Value 是有意义的,两者的示例是文档中给出。
但是,对于像insert 这样的转换,从技术上讲,谈论...$Key 或...$Value 是没有意义的,因此文档只提供了...$Value 的示例。
【问题讨论】:
标签: apache-kafka apache-kafka-connect