Avro 模式对象 - 递归
Avro schema object - recursion
是否可以在 avro 架构中创建 class 并将其参数之一作为自身?
java中的示例:
public class Example {
private Integer value;
private Example example;
}
Avro 架构未在 java 中定义,但在通常具有 .avsc
文件扩展名的 json 文件中定义。这是代表树的递归 avro 模式的示例:
{
"type": "record",
"name": "Node",
"fields": [
{
"name": "value",
"type": "long"
},
{
"name": "children",
"type": { "type": "array", "items": "Node" }
}
]
}
所以是的,完全有可能创建递归模式。
另见 this issue,其中定义了更短的架构:
{
"type": "record",
"name": "RecursiveRecord",
"fields": [{"name": "child", "type": "RecursiveRecord"}]
}
是否可以在 avro 架构中创建 class 并将其参数之一作为自身?
java中的示例:
public class Example {
private Integer value;
private Example example;
}
Avro 架构未在 java 中定义,但在通常具有 .avsc
文件扩展名的 json 文件中定义。这是代表树的递归 avro 模式的示例:
{
"type": "record",
"name": "Node",
"fields": [
{
"name": "value",
"type": "long"
},
{
"name": "children",
"type": { "type": "array", "items": "Node" }
}
]
}
所以是的,完全有可能创建递归模式。
另见 this issue,其中定义了更短的架构:
{
"type": "record",
"name": "RecursiveRecord",
"fields": [{"name": "child", "type": "RecursiveRecord"}]
}