2016-07-20 3 views
1

У меня проблемы с попыткой декодирования байтов Avro, написанных на Ruby, на тему Kafka. При просмотре строки байта avro я вижу, что это выглядит хорошо. Но когда я пытаюсь декодировать, я получаю код UnicodeDecodeError: 'utf8' не может декодировать байт 0x98 в позиции 32: недопустимый стартовый байт '.Напишите Avro в рубине и прочитайте в 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) 

Спасибо.

ответ

0

Изменение кода таким образом решить проблему

bytes_reader = io.BytesIO(msg.value) 
reader = DataFileReader(bytes_reader, DatumReader()) 
for r in reader: 
    print r 
Смежные вопросы