我想为原始类型定义别名/逻辑名称。但是如果我直接这样做,就像下面例子中的PartyId,Avro-Tools不接受这一点:
protocol Test {
string PartyId;
record Header {
PartyId partyId;
}
}这在IDL或AVRO Schema语言中是可能的吗?多么?作为一种变通办法,我可以定义:
record PartyId {
string _value;
}虽然这看起来是等价的,但在语义上(例如,在生成的Java代码中)这是不同的-- PartyId是结构化类型,而不是原始类型。
我可以为枚举和记录定义自定义名称,但在我看来AVRO并没有提供基元类型别名的方法。
发布于 2021-02-15 23:29:01
Avro中的别名用于重新映射记录命名空间
记录和枚举的名称是因为它们是实际的对象,而不是原语
就像你不能通过另一个类引用Java字符串一样,Avro也不需要这样的特性。您可以编写文档注释或适当地命名字段,以明确每个字段的含义
https://stackoverflow.com/questions/66210730
复制相似问题