将Avro反序列化为没有模式的通用记录

问题描述 投票:0回答:1

是否有可能将字节数组/缓冲区反序列化为通用记录,而无需在消息中编码的内容旁提供任何可用的模式?

我正在编写一个接收传入的编码消息的组件,我想使其成为通用记录而没有任何模式。

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

avro
1个回答
0
投票

如果将模式嵌入标题中,应该可以,因为与读取.avro文件时一样,该文件首先指定了模式。如果您序列化avro而不在标题上指定模式,那么除非您从诸如Schema Registry之类的中央服务中获取模式,或者事先拥有模式,否则我认为无法反序列化它。

© www.soinside.com 2019 - 2024. All rights reserved.