Nie znalazłem nic w dokumentacji na ten temat, tylko ogólne informacje na temat wartości domyślnych. Moje założenie, że to powinno działać tak:Jak określić wartość domyślną dla wyliczenia przy użyciu avro IDL?
enum MyEnum {
UNSPECIFIED,
SPECIFIED
}
record Test {
MyEnum e = "UNSPECIFIED";
}
GenericDatumReader w Javie niestety skarży się, że jest on znalezienie String ale oczekuje MyEnum.
Czy ktoś może potwierdzić, że jest to właściwy sposób używania wyliczenia z wartością domyślną za pomocą avro IDL? W takim przypadku mam błąd w innym miejscu. Czy ktoś może potwierdzić, że to nie jest sposób, aby to zrobić i poprawić mnie? Wszelkie dane wejściowe są mile widziane!
Aktualizacja: Aktualizacja: Wydaje mi się, że w mojej prawdziwej wersji tej wersji przyczyną problemu jest nowo dodane wyliczenie, mimo że ma wartość domyślną. Oznacza to, że mój schemat czytelnika oczekuje wyliczenia, podczas gdy rekord nie zawiera. Ewolucja schematu powinna być w stanie rozwiązać ten problem, ale wydaje się nie udać. Więcej szczegółów: Pracuję tutaj z Pigem, a nie bezpośrednią Javą.
Dziękuję za odpowiedź, ale nie jest to dla mnie opcja, ponieważ jestem zależny od ewolucji schematu avro (co wydaje się nie udać dla nowo dodanego wyliczenia w tej chwili). – LiMuBei