gpt4 book ai didi

java - 支持从 avsc 架构文件导入 avpr 文件

转载 作者:行者123 更新时间:2023-11-30 08:07:54 34 4
gpt4 key购买 nike

我有两个架构文件

首先是position.avsc

{
"type":"enum", "name": "Position", "namespace": "avro.examples.baseball",
"symbols": ["P", "C", "B1", "B2", "B3", "SS", "LF", "CF", "RF", "DH"]
}

第二个是 player.avsc

{
"type":"record", "name":"Player", "namespace": "avro.examples.baseball",
"fields": [
{"name": "number", "type": "int"},
{"name": "first_name", "type": "string"},
{"name": "last_name", "type": "string"},
{"name": "position", "type": {"type": "array", "items": "avro.examples.baseball.Position"} }
]
}

我可以在 avdl 中导入这些模式

@namespace("avro.examples.baseball")
protocol Baseball {
import schema "position.avsc";
import schema "player.avsc";
}

但我想在 json 中定义上述协议(protocol)并将这些模式导入协议(protocol)文件中。这将有助于架构的可重用性

最佳答案

Avro idl 模式可以用两种类型的文件指定

  1. 同意
  2. AVDL

对于 avpr 文件,我们无法导入外部架构。所有必需的架构必须存在于同一文件中。

对于 avdl ,我们可以从 avsc 文件导入外部模式。

我已经为 avro 1.7.7 验证了这一点

关于java - 支持从 avsc 架构文件导入 avpr 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33416499/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com