Я ничего не нашел в документации по этому поводу, только общие значения значений по умолчанию. Мое предположение было то, что он должен работать так:Как указать значение по умолчанию для перечисления с использованием avro IDL?
enum MyEnum {
UNSPECIFIED,
SPECIFIED
}
record Test {
MyEnum e = "UNSPECIFIED";
}
GenericDatumReader в Java, к сожалению, жалуется, что он находит строку, но ожидает MyEnum.
Может ли кто-нибудь подтвердить, что это правильный способ использования перечисления со значением по умолчанию с использованием avro IDL? В этом случае у меня есть ошибка в другом месте. Может ли кто-нибудь подтвердить, что это не способ сделать это и исправить меня? Любой вход оценивается!
Обновление: В моей реальной версии этой версии кажется, что недавно добавленное перечисление к записи вызывает проблему, даже если она имеет значение по умолчанию. Это означает, что моя схема чтения ожидает перечисления, тогда как запись не содержит ее. Эволюция схемы должна быть в состоянии разрешить это, но, похоже, терпит неудачу. Подробнее: Я работаю с Pig здесь, а не напрямую Java.
Спасибо за ответ, но это не вариант для меня, поскольку я зависим от эволюции схемы avro (которая, похоже, не работает для недавно добавленного enum прямо сейчас). – LiMuBei