2016-07-07 127 views
0

所以,我可以成功地使用python confluent-kafka api来消费来自Kafka的文本编码消息。confluent-kafka python avro消息

当我尝试使用Avro的编码(二进制)的消息,我得到一个异常的UnicodeDecodeError:

msg = kafka_consumer.poll(timeout=2.0) 

显然,Avro的编码值是二进制的,不是Unicode。通过Java API,我可以为KafkaConsumer构造函数指定一个KafkaAvroDeserializer。 Python API似乎没有并行或类似的配置选项。

可以传递给底层librdkafka的配置选项似乎没有指定任何自定义(de)序列化器或解码器或avro相关选项。

https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md

如何消耗使用Python汇合卡夫卡API的Avro编码的消息?

回答

1

关于irc,#kafka,其中一位开发人员说这是confluent-python 3.0版本中的一个bug,它已经在master分支中修复了,修复将在下一个版本发布。