【发布时间】:2013-07-25 03:45:39
【问题描述】:
我在文档中没有找到任何关于此的内容,只有关于默认值的通用 bla。我的假设是它应该像这样工作:
enum MyEnum {
UNSPECIFIED,
SPECIFIED
}
record Test {
MyEnum e = "UNSPECIFIED";
}
不幸的是,Java 中的 GenericDatumReader 抱怨说他正在寻找一个字符串,但需要一个 MyEnum。
任何人都可以确认这是使用 avro IDL 使用具有默认值的枚举的正确方法吗?在那种情况下,我在其他地方有一个错误。 谁能确认这不是这样做的方法并纠正我? 任何意见表示赞赏!
更新: 在我的真实世界版本中,似乎新添加到记录的枚举导致了问题,即使它具有默认值。这意味着我的阅读器架构需要一个枚举,而记录不包含一个。模式演化应该能够解决这个问题,但似乎失败了。 更多细节:我在这里使用 Pig,而不是直接使用 Java。
【问题讨论】: