【发布时间】:2016-04-21 09:20:11
【问题描述】:
我正在编写一个使用 avro 反序列化数据的 php 脚本。 我将数据作为 avro 二进制流的缓冲区接收。 在 avro php 示例中,我只看到了从文件中读取数据的示例。不是二进制缓冲区。
如何反序列化数据? 我正在寻找的是 avro 的二进制解码器
【问题讨论】:
我正在编写一个使用 avro 反序列化数据的 php 脚本。 我将数据作为 avro 二进制流的缓冲区接收。 在 avro php 示例中,我只看到了从文件中读取数据的示例。不是二进制缓冲区。
如何反序列化数据? 我正在寻找的是 avro 的二进制解码器
【问题讨论】:
$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))
假设您想分别反序列化每条记录,并拥有 writer 架构。
【讨论】: