在avro中存储架构有什么好处?
我们需要序列化一些数据,以便放入solr和hadoop中。
我正在评估相同的序列化工具。
我名单上的前两名是Gson和Avro。
据我所知,Avro = Gson + Schema-In-JSON
如果这是正确的,我不明白为什么Avro在Solr / Hadoop中如此受欢迎?
我在互联网上搜索了很多,但找不到一个正确的答案。
无论它在哪里说,Avro都很好,因为它存储了模式。我的问题是如何处理该架构?
对于Hadoop中非常大的对象来说,这可能是一件好事,其中单个对象存储在多个文件块中,因此将架构与每个部分一起存储有助于更好地分析它。但即使在这种情况下,架构也可以单独存储,只要引用它就足以描述架构。我看不出为什么模式应该成为每个部分的一部分。
如果有人能给我一些很好的用例,Avro如何帮助他们,Gson/Jackson不足以达到这个目的,那将是非常有帮助的。
此外,Avro网站的官方文档说,我们需要给Avro一个模式,以帮助它生成Schema+Data。我的问题是,如果模式是输入的,并且相同的模式与数据的JSON表示一起发送到输出,那么Avro还实现了什么额外的目标?我是否可以通过使用JSON序列化对象,添加我的输入架构并将其称为Avro来自己做到这一点?
我对此感到非常困惑!