我有一个带有第一个架构的 avro 文件,然后我更新了附加到同一文件的架构。所以现在我在一个文件中有两个模式。 avro 如何处理这种情况。我是否会在文件中添加任何新字段,或者在读取此数据时是否会丢失任何数据。这是一个实时流应用程序,我将数据写入 hdfs。我的上游系统可能会更新架构,但 hdfs 编写器可能使用旧架构。因此,hdfs avro 文件将有两个架构,直到我更新编写器以处理较新的架构。
注意 - 我没有模式注册表,并且每天创建一个 avro 文件。因此,如果某个架构在中午更新,我将拥有一个包含两个架构的 avro 文件。
与 Thrift 不同,Avro 不会在数据中保存有关 avro 架构的任何元信息。