我有一个带有第一个模式的avro文件,然后我更新了附加到同一文件的模式。所以现在我在一个文件中有两个模式。avro是如何处理这种情况的。我是否会在文件中添加任何新字段,或者在读取此数据时会丢失任何数据。这是一个实时流应用程序,我在其中将数据写入hdfs。我的上游系统可能会更新模式,但hdfs编写器可能在旧模式上。因此,在我更新编写器以处理较新的模式之前,hdfs avro文件将具有两个模式。
注意-我没有模式注册表,我每天创建一个avro文件。因此,如果在中午更新模式,我将拥有一个包含两个模式的avro文件。
发布于 2017-11-15 01:23:24
与Thrift不同,Avro不会在数据中保存有关avro模式的任何元信息。
提供了实用程序来检查模式compatibility.
https://stackoverflow.com/questions/47124929
复制相似问题