我正在使用avro编写一个php脚本来反序列化数据。 我收到数据作为avro二进制流的缓冲区。 在avro php示例中,我只看到了从文件中读取数据的示例。不是二进制缓冲区。
如何反序列化数据? 我正在寻找的是avro的二进制解码器
答案 0 :(得分:0)
$binaryBuffer = <get_avro_serialized_record>
$writersSchema = '{
"type" : "record",
"name" : "Example",
"namespace" : "com.example.record",
"fields" : [ {
"name" : "userId",
"type" : "int"
.............
}'
$reader = new AvroIODatumReader($writersSchema);
$io = new AvroStringIO($binaryBuffer)
$deserializedRecord = $reader->read(new AvroIOBinaryDecoder($io))
假设您要分别反序列化每个记录,并拥有编写器架构。