我有以下消息结构:
{
"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记录本身有一个时间戳,所以您真的需要将时间戳作为值中的字段吗?一种选择是提取时间戳,然后压平,然后将其添加回来。但是,这将覆盖生产者使用该值设置的时间戳。