2017-08-04 72 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 

回答