Мне нужно написать потребителя kafka на Python, чтобы получить данные, произведенные Java Produced. Java Producer сериализует ключ и значение, используя 'org.apache.kafka.common.serialization.LongSerializer' и 'org.apache.kafka.common.serialization.ByteArraySerializer'. Я не могу десериализовать данные в Python. Может ли кто-нибудь помочь мне в этом, если вы сталкивались с подобной проблемой ранее.
key = b'\x00\x04'
и
value = b'\x00\x00\x00\x03\x00\x02\x12\xf6 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00J\xce\xff\x17\x00\x00A\x00\x97\xb0\x00\x00\x00\x00\x01\x98\x00\x02\x12\xf6IBULHSGFINEQ\x00\x01\x00\x02\x01}\x96\xb5\x00\x00\x00\x00\x00\x02\x00\x00^\xdd\x00\x00J\xce\xff\x17 @\x00\x00\x00\x00\x00\x00C\x0fC\x8d\xaa\x0fw\xb0010138794 \x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01^\x00\x00\x01\xf4\x00\x00\x00\x94\x00\x00^\xdd\x00\x00\x00\x00\x00\x00\x00\x00J\xce\xff\x17\x00\x00\x00\x00J\xce\xff\x17P@\x00\x04\x00\x00h\xe112802\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0012802 \x00\x01\x00\x07B\xf2\xf2\xa3n\xcdL`\x00\x00J\xce\xff\x17 :\x80\x00\x00\x00DCTPS0979A\x00\x00\x00\x00\x00\x00C\x0fC\x8d\xaa\x0f_\xd012151'
Я попытался использовать приведенный ниже код value_deserializer, как показано в https://buildmedia.readthedocs.org/media/pdf/kafka-python/1.1.1/kafka-python.pdf
value_deserializer=lambda m: json.loads(m.decode('ascii')) but I am getting error: UnicodeDecodeError: 'ascii' codec can't decode byte 0xd2 in position 7: ordinal not in range(128
)
value_deserializer=lambda m: json.loads(m.decode('utf-8')), error: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc9 in position 7: invalid continuation byte
value_deserializer=msgpack.unpackb, error: File "msgpack/_unpacker.pyx", line 208, in msgpack._unpacker.unpackb
msgpack.exceptions.ExtraData: unpack(b) received extra data.
value_deserializer=msgpack.loads, error: File "msgpack/_unpacker.pyx", line 208, in msgpack._unpacker.unpackb
msgpack.exceptions.ExtraData: unpack(b) received extra data.