java schema avro

java - ¿Cómo crear un esquema que contenga una lista de objetos usando Avro?



schema (2)

Debe utilizar el tipo de array para crear la lista. A continuación se muestra el esquema actualizado que maneja su caso de uso.

{ "name": "Parent", "type":"record", "fields":[ { "name":"children", "type":{ "type": "array", "items":{ "name":"Child", "type":"record", "fields":[ {"name":"name", "type":"string"} ] } } } ] }

¿Alguien sabe cómo crear un esquema de Avro que contenga una lista de objetos de alguna clase?

Quiero que mis clases generadas se vean a continuación:

class Child { String name; } class Parent { list<Child> children; }

Para esto, he escrito parte del archivo de esquema pero no sé cómo decirle a Avro que cree una lista de objetos del tipo Children .

Mi archivo de esquema se ve a continuación:

{ "name": "Parent", "type":"record", "fields":[ { "name":"children", "type":{ "name":"Child", "type":"record", "fields":[ {"name":"name", "type":"string"} ] } } ] }

Ahora, el problema es que puedo marcar los campos de children como tipo de Child o matriz, pero no sé cómo marcarlos como una array of objects of type Child Clase de array of objects of type Child ?

Alguien puede ayudarme porfavor?


Tuve la siguiente clase y el complemento Avro Maven generó dos clases en consecuencia:

public class Employees{ String accountNumber; String address; List<Account> accountList; } public class Account { String accountNumber; String id; }

Formato de archivo avro:

{ "type": "record", "namespace": "com.mypackage", "name": "AccountEvent", "fields": [ { "name": "accountNumber", "type": "string" }, { "name": "address", "type": "string" }, { "name": "accountList", "type": { "type": "array", "items":{ "name": "Account", "type": "record", "fields":[ { "name": "accountNumber", "type": "string" }, { "name": "id", "type": "string" } ] } } } ] }