Kafka连接转换ExtractField$Value,同时保留更多密钥



我有以下消息结构:

{
"payload" {
"a": 1,
"b": {"X": 1, "Y":2}          
},
"timestamp": 1659692671
}

我想使用SMT来获得以下结构:

{
"a": 1,
"b": {"X": 1, "Y":2},
"timestamp": 1659692671
}

当我为payload使用ExtractField$Value时,我无法保留timestamp。我不能使用Flatten,因为"b"的结构不应该被展平。

有什么想法吗?感谢

不幸的是,使用内置转换无法将字段移动到另一个Struct中。在数据到达连接器之前,您必须编写自己的或使用流处理库。

注意,Kafka记录本身有一个时间戳,所以您真的需要将时间戳作为值中的字段吗?一种选择是提取时间戳,然后压平,然后将其添加回来。但是,这将覆盖生产者使用该值设置的时间戳

最新更新