我已经将Kafka连接工作线程配置为在集群中运行并能够获取数据库数据。此外,我还以 JSON 格式将数据库数据存储在 Kafka 主题中。在这里,我使用了JSON转换器来序列化数据
在 Kafka 消费者控制台中查看数据库数据时,我可以看到 UserCreatedon 列值显示为整数。DB中UserCreatedon列值的数据类型是int64(unix纪元时间(,这就是为什么时间戳值被Kafka消费者显示为int的原因
有没有办法在连接器创建期间发送架构。因为我希望 UserCreatedon 应该以时间戳格式而不是 int
显示示例输出
{"schema":{"type":">struct","fields":[{"type":"string","optional":false,"field":"NAME"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"UserCreatedON"}],"optional":false},"payload":{"NAME":"UserProvision","UserCreatedon ":1567688965261}}
在这里恳请您的支持。
您没有提到使用哪种类型的连接器将数据从数据库传输到 Kafka。Kafka connect支持变压器。
单消息转换 (SMT( 在邮件时应用于邮件 流经连接。SMT 在源之后转换入站消息 连接器已经生成了它们,但在它们写入 Kafka 之前
看这里
专门针对您的情况,您可以使用时间戳转换器