我已配置Kafka connect worker在集群中运行并能够获取数据库数据。另外,我已经以JSON格式将数据库数据存储在Kafka主题中。在这里,我使用JSON转换器对数据进行序列化
在Kafka使用者控制台中查看数据库数据时,我可以看到UserCreatedon列值显示为整数。数据库中UserCreatedon列值的数据类型为int64(unix epoch time),这就是为什么Kafka使用者将时间戳记值显示为int的原因
在连接器创建期间是否有任何发送模式的方法。因为我希望UserCreatedon应该以时间戳格式显示,而不是int
样本输出
{“ schema”:{“ type”:“ struct”,“ fields”:[{“ type”:“ string”,“ optional”:false,“ field”:“ NAME”},{“ type” :“ int64”,“可选”:true,“名称”:“ org.apache.kafka.connect.data.Timestamp”,“版本”:1,“字段”:“ UserCreatedON”}]],“可选”:false },“ payload”:{“ NAME”:“ UserProvision”,“ UserCreatedon”:1567688965261}}
在这里恳求您的支持。
答案 0 :(得分:0)
您还没有提到用于将数据从DB引入Kafka的连接器的类型。 Kafka Connect支持变压器。
单消息转换(SMT)应用于消息,因为它们 流经Connect。 SMT在来源之后转换入站邮件 连接器已经产生了它们,但是在将它们写入Kafka之前
请参见here
具体来说,您可以使用TimestampConvertor