我在我的項目中使用Apache Avro,並且我有要求將即將到來的protobuf數據保存在Avro模式中。我在網上搜索,但沒有找到任何解決方案。如何將Protobuf數據轉換爲apache avro
我該怎麼辦?
我在我的項目中使用Apache Avro,並且我有要求將即將到來的protobuf數據保存在Avro模式中。我在網上搜索,但沒有找到任何解決方案。如何將Protobuf數據轉換爲apache avro
我該怎麼辦?
您不能使用apache avro序列化系統反序列化protobuf數據,因爲它們不使用相同的編碼器/解碼器協議。
解決您的問題的一種方法是創建一個界面系統,它可以反序列化protobuf即將發佈的數據(通過使用protobuf系統)。完成這一步之後,您可以輕鬆地使用解密的數據填充生成的類。
我實現從協議緩衝區的Avro記錄 轉換,你可以嘗試一下: https://github.com/cecol/protobuf-to-avro ,但你仍然需要提供適當的協議緩衝架構.proto文件和對應的Avro .avsc文件架構
謝謝...在我的代碼中,我們目前使用ProtobufDatamWriter在avro模式中編寫protobuf數據,但protobufDatamWriter不適用於編寫其需要的protobuf生成的類。請給我一些代碼或給出一個方法如何解決。 –
嘗試使用來自Apache avro API的'DatumWriter'(參見更多[此處](http://avro.apache.org/docs/current/gettingstartedjava.html#Serializing-N101DE)),並使用protobuf數據**反序列化**。 –