如何在使用REST API创建Kafka连接器时定义架构

时间:2019-10-01 06:46:59

标签: apache-kafka apache-kafka-connect

我已配置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}}

在这里恳求您的支持。

1 个答案:

答案 0 :(得分:0)

您还没有提到用于将数据从DB引入Kafka的连接器的类型。 Kafka Connect支持变压器。

  

单消息转换(SMT)应用于消息,因为它们   流经Connect。 SMT在来源之后转换入站邮件   连接器已经产生了它们,但是在将它们写入Kafka之前

请参见here

具体来说,您可以使用TimestampConvertor