kafka mongo接收器连接器,如何使用smt timestampconverter作为json数组中的日期字段

6tdlim6h  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(519)

“transforms”:“timestampconverter”,

"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.format": "yyyy-MM-dd",
"transforms.TimestampConverter.target.type": "string",
"transforms.TimestampConverter.field" : "DateAtlevel2"

当这个日期字段位于json的父级时,smt可以正常工作,而当这个日期字段位于json数组中时,它就不工作了。
如何应用smt将json数组中的字段转换为日期?
我用的是kafka mongoFlume连接器。

dxpyg8gm

dxpyg8gm1#

我猜你在用 org.apache.kafka.connect.json.JsonConverter.java 这是一个无模式转换器。在这种情况下,只能检索级别1字段。
为什么?在smt阶段,每条记录被剥离成一个普通的Map<string,object>,其中 String 是字段名和 Object 是它的价值所在。timestampconverter所做的只是用您作为config()传递的字段名对该Map执行get操作 map.get("DateAtlevel2") )却找不到。
要获得对level2+字段的访问权限,您需要一些支持模式的其他类型的输入数据(avro、jsonschema或protobuff)。

相关问题