Kafka Connect Transformation:`... $ Key`和`... $ Value`有什么区别?

时间:2019-12-26 11:10:56

标签: apache-kafka apache-kafka-connect

问题

Kafka's Documentation上的

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>

1 个答案:

答案 0 :(得分:1)

Kafka记录的键和值均能够保存结构化数据。因此,插入转换对这两者都适用,原因与drop

相同。
相关问题