我有一个用例,我们定义自定义用户数据类型,如 CustomDate、CustomBigDecimal 等,这些都在一个 avsc 文件中,比如说 datatype.avsc 现在我们创建另一个主 avro 文件,比如说 main.avsc,它使用这个文件文件
例如
[{
"namespace": "com.test.avro.generated",
"type": "record",
"name": "Model",
"fields":
[
{
"name" : "CreatedDate",
"value": "CustomDate" //This data type is defined in ref.avsc
}
]
}]
如何获取 main.avsc 的架构,因为我只能在解析器中指定一个文件名
Schema schema = new Schema.Parser().parse(mainFile);
如何指定它应该使用 ref.avsc 来获取依赖类型?
如果要在应用程序之外执行此操作,我将按如下方式执行
java -jar avro-tools-1.9.1.jar compile schema ref.avsc main.avsc output
我同样认为我想以编程方式实现