将Avro反序列化为通用记录而无需模式

时间:2019-06-11 07:38:41

标签: avro

是否可以将字节数组/缓冲区反序列化为通用记录,而不需要任何模式,除了消息中编码的内容之外?

我正在编写一个组件,该组件接收传入的编码消息,并且希望使其成为通用记录,而无需任何模式支持。

我已经假设有可能,因为架构是此编码消息的一部分,但是我不确定,如果我未在GenericDatumReader中指定架构,我将获得NPE。

1 个答案:

答案 0 :(得分:0)

如果将模式嵌入标题中,则应该可以,因为与读取.avro文件(首先指定模式)相同。如果您在没有在标题上指定架构的情况下序列化avro,除非您从诸如Schema Registry之类的中央服务中获取架构,或者事先拥有该架构,否则我认为无法对它进行反序列化