【发布时间】:2016-11-10 00:50:25
【问题描述】:
所以,我可以成功地使用 python confluent-kafka api 来使用来自 Kafka 的文本编码消息。
当我尝试使用 Avro 编码(二进制)消息时,我得到一个 UnicodeDecodeError 异常:
msg = kafka_consumer.poll(timeout=2.0)
显然,Avro 编码值是二进制的,而不是 Unicode。使用 Java API,我可以为 KafkaConsumer 构造函数指定一个 KafkaAvroDeserializer。 Python API 似乎没有与之并行或类似的配置选项。
可以传递给底层 librdkafka 的配置选项似乎没有指定任何自定义(反)序列化器或解码器或 avro 相关选项。
https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
如何使用 Python confluent-kafka api 使用 Avro 编码的消息?
【问题讨论】:
标签: python apache-kafka kafka-consumer-api