kafka主题

2wnc66cl  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(399)

我已经使用kafka avro控制台producer在主题“testavro”中编写了一些avro数据。然后,我使用kafka控制台producer为同一主题“testavro”编写了一些纯文本数据。在此之后,主题中的所有数据都已损坏。有人能解释一下是什么导致了这样的事情吗?

t5zmwmid

t5zmwmid1#

你根本不能使用 avro-console-consumer (或使用avro反序列化程序的使用者)不再读取这些偏移量,因为它将假定主题中的所有数据都是avro,并使用合流的 KafkaAvroDeserializer .
平原 console-producer 将推送非avro编码的utf-8字符串并使用 StringSerializer ,它将与avro反序列化程序所需的wire格式不匹配
唯一的方法就是知道哪些偏移量是不好的,然后等待它们在主题上过期,或者重置一个消费组以在这些消息之后开始。或者,你可以随时使用 ByteArrayDeserializer ,并添加一组用于解析消息的条件逻辑,以确保没有数据丢失。
热释光;dr生产者和消费者必须就主题的数据格式达成一致。

相关问题