Подтвердить что ты не робот

Как создать схему, содержащую список объектов, используя Avro?

Кто-нибудь знает, как создать схему Avro, которая содержит список объектов некоторого класса?

Я хочу, чтобы мои сгенерированные классы выглядели следующим образом:

class Child {
    String name;
}

class Parent {
    list<Child> children;
}

Для этого я написал часть файла схемы, но не знаю, как сообщить Avro о создании списка объектов типа Children?

Мой файл схемы выглядит следующим образом:

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

Теперь проблема в том, что я могу пометить поле Children как тип или массив Child, но не знаю, как пометить его как класс array of objects of type Child?

Кто-нибудь может помочь?

4b9b3361

Ответ 1

Для создания списка вам нужно использовать array. Ниже приведена обновленная схема, которая обрабатывает ваш usecase.

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