これについてのドキュメントでは何も見つかりませんでしたが、デフォルト値については汎用のblaしかありません。avro IDLを使用してenumのデフォルト値を指定するにはどうすればよいですか?
enum MyEnum {
UNSPECIFIED,
SPECIFIED
}
record Test {
MyEnum e = "UNSPECIFIED";
}
JavaでGenericDatumReaderが、残念ながら、彼は文字列を見つけることであることを不平を言うが、MyEnumを期待:私の仮定は、それがこのように動作しなければならないということでした。
これは、avro IDLを使用してデフォルト値で列挙型を使用する正しい方法であることを誰もが確認できますか?その場合、私は他の場所にバグがあります。 これはこれを実行して私を修正する方法ではないことを誰もが確認できますか? すべての入力をいただければ幸いです!
更新: 私の実際のバージョンでは、レコードに新しく追加された列挙型がデフォルト値を持っていても問題を引き起こしているようです。つまり、読者のスキーマには列挙型が必要ですが、レコードには列挙型が含まれていません。スキーマの進化はこれを解決できるはずですが、失敗するようです。 詳細:私はここで豚と協力しています。
回答ありがとうございますが、私はavroスキーマの進化に依存しているので、これは私にとってはオプションではありません。 – LiMuBei