首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVRO中基本类型的别名

AVRO中基本类型的别名
EN

Stack Overflow用户
提问于 2021-02-15 23:25:10
回答 1查看 162关注 0票数 0

我想为原始类型定义别名/逻辑名称。但是如果我直接这样做,就像下面例子中的PartyId,Avro-Tools不接受这一点:

代码语言:javascript
复制
protocol Test {
    string PartyId;

    record Header {
        PartyId partyId;
    }
}

这在IDL或AVRO Schema语言中是可能的吗?多么?作为一种变通办法,我可以定义:

代码语言:javascript
复制
record PartyId {
    string _value;
}

虽然这看起来是等价的,但在语义上(例如,在生成的Java代码中)这是不同的-- PartyId是结构化类型,而不是原始类型。

我可以为枚举和记录定义自定义名称,但在我看来AVRO并没有提供基元类型别名的方法。

EN

回答 1

Stack Overflow用户

发布于 2021-02-15 23:29:01

Avro中的别名用于重新映射记录命名空间

记录和枚举的名称是因为它们是实际的对象,而不是原语

就像你不能通过另一个类引用Java字符串一样,Avro也不需要这样的特性。您可以编写文档注释或适当地命名字段,以明确每个字段的含义

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66210730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档