卡夫卡无法读取Avro时间戳

时间:2020-06-14 20:47:32

标签: apache-kafka avro apache-kafka-connect jackson-dataformat-avro

对于我的硕士论文项目,我正在使用kafka-connect和avro模式生成模拟数据,但是kafka中的timestamp字段是以这种方式/ Unix时期生成的,我想: 8203758334795633000 和我尝试使用 transforms = TimestampConverter 进行转换,但是我得到了:“ 174673355-10-23 23:41:30.000228” ,有人可以指出我做错了什么吗完全是

这是我在avro中定义时间戳的方式:

                "name": "Timestamp","type":{
                "type": "long",
                "logicalType": "timestamp-millis"
                }
                } 

这是我正在使用的配置:

  "connector.class": "io.confluent.kafka.connect.datagen.DatagenConnector",
  "max.interval": "10000",
  "tasks.max": "1",
  "internal.key.converter.schemas.enable": "false",
  "schema.filename": "/tmp/Zone1_Sensors.avsc",
  "iterations": "1000000",
  "value.converter.schema.registry.url": "http://schema-registry:8081",
  "internal.key.converter": "org.apache.kafka.connect.json.JsonConverter",
  "internal.value.converter.schemas.enable": "false",
  "internal.value.converter": "org.apache.kafka.connect.json.JsonConverter",
  "kafka.topic": "Zone1_Data",
  "value.converter": "io.confluent.connect.avro.AvroConverter",
  "key.converter": "io.confluent.connect.avro.AvroConverter",
  "key.converter.schema.registry.url": "http://schema-registry:8081"
  "transforms.TimestampConverter.target.type": "string",
  "transforms.TimestampConverter.field": "Timestamp",
  "transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
  "transforms": "TimestampConverter",
  "transforms.TimestampConverter.format": "yyyy-MM-dd HH:mm:ss.SSSSSS",
} 

0 个答案:

没有答案