2016-07-20 3 views
1

Ich habe Probleme mit dem Versuch, in Ruby geschriebene Avro-Bytes zu einem Kafka-Thema zu dekodieren. Wenn ich die Avro-Byte-Zeichenfolge ansehe, kann ich sehen, dass es gut aussieht. Aber wenn ich versuche zu dekodieren, bekomme ich einen 'UnicodeDecodeError:' utf8 'Codec kann das Byte 0x98 an Position 32 nicht entschlüsseln: ungültiges Startbyte'.Schreibe Avro in Ruby und lese in Python

import avro.schema 
import avro.io 
import io 

bytes_reader = io.BytesIO(m.value) 
decoder = avro.io.BinaryDecoder(bytes_reader) 
reader = avro.io.DatumReader(schema) 
print reader.read(decoder) 

Danke.

Antwort

0

den Code so ändern das Problem gelöst

bytes_reader = io.BytesIO(msg.value) 
reader = DataFileReader(bytes_reader, DatumReader()) 
for r in reader: 
    print r