2017-08-04 75 views
1

我遇到了一个问题,我更新了我的avsc模式文件中的名称空间。由于我们使用Java中创建的通用处理器来解析XML,并使用avsc文件。如何使用新旧名称空间使用avro数据

我们分离了接口并创建了2个不同的名称空间,现在有2个相同的avsc模式,只是名称空间不同。

由于我们有使用旧名称空间生成的数据,因此我无法用新名称空间生成的新数据查询此数据。

这里是我的架构的例子 -

旧模式 - "type" : "record", "name" : "Message", "namespace" : "com.myfirstavsc", "fields" : [ { "name" : "Header",.....**other fields**

新的模式 - "type" : "record", "name" : "Message", "namespace" : "com.mysecondavsc", "fields" : [ { "name" : "Header",.....**other fields**

当我查询我的蜂巢表我得到异常下面

Failed with exception java.io.IOException:org.apache.avro.AvroTypeException: Found com.myfirstavsc.Property, expecting union 

回答