Je n'ai rien trouvé dans la documentation à ce sujet, seulement bla générique sur les valeurs par défaut. Mon hypothèse était que cela devrait fonctionner comme ceci:Comment spécifier une valeur par défaut pour une énumération utilisant avro IDL?
enum MyEnum {
UNSPECIFIED,
SPECIFIED
}
record Test {
MyEnum e = "UNSPECIFIED";
}
Le GenericDatumReader en Java se plaint malheureusement qu'il est de trouver une chaîne, mais attend un MyEnum. Est-ce que quelqu'un peut confirmer que c'est la bonne façon d'utiliser une énumération avec une valeur par défaut en utilisant avro IDL? Dans ce cas j'ai un bug ailleurs. Quelqu'un peut-il confirmer que ce n'est pas la façon de le faire et de me corriger? Toute contribution est appréciée!
Mise à jour: Dans ma version du monde réel, il semble qu'une nouvelle énumération de l'enregistrement provoque le problème même s'il a une valeur par défaut. Cela signifie que mon schéma de lecteur attend une énumération, alors que l'enregistrement n'en contient pas. L'évolution du schéma devrait être capable de résoudre cela, mais semble échouer. Plus de détail: Je travaille avec Pig ici, pas directement Java.
Merci pour la réponse, mais ce n'est pas une option pour moi car je dépend de l'évolution du schéma avro (qui semble échouer pour une nouvelle énumération en ce moment). – LiMuBei