Как создать список записей в Avro Schema - PullRequest
0 голосов
/ 22 января 2019

У меня есть схема Avro, как указано ниже.

{"type":"record",
"namespace": "com.test",
"name": "bck",
"fields": [ {"name": "accountid","type": "string"},
{"name":"amendmentpositionid","type": "int"},
{"name":"booking","type":
{"type":"array","items":
{"namespace":"com.test",
"name":"bkkk",
"type":"record",
"fields":
[{"name":"accountid","type":"string"},{"name":"clientid","type":"int"},
{"name":"clientname","type":"string"},{"name":"exerciseid","type":"int"},
{"name":"hedgeid","type":"int"},{"name":"originatingpositionid","type":"int"},
{"name":"positionid","type":"int"},{"name":"relatedpositionid","type":"int"} ]}}}]}

Я хочу создать еще одну запись того же типа, что и упомянутая выше. ИЛИ я хочу сказать, что я хочу создать список записей, где схема каждой записи такая же, как указано выше. Как я могу добиться этого в единой файловой схеме Avro?

1 Ответ

0 голосов
/ 08 февраля 2019

Предоставленная вами схема уже содержит массив записей. Если мое понимание верно, вы хотите создать другой массив записей, используя / содержащий эту схему, что делает ее массивом записей в массиве записей в одном файле схемы.

Надеюсь, это поможет.

{
    "type": "record",
    "namespace": "com.test",
    "name": "list",
    "fields": [{
        "name":"listOfBck","type":
        {"type":"array","items":
            {
                "type":         "record",
                "namespace":    "com.test",
                "name":         "bck",
                "fields": [
                    {"name": "accountid","type": "string"},
                    {"name":"amendmentpositionid","type": "int"},
                    {"name":"booking","type":
                        {"type":"array","items":
                            {"namespace":"com.test",
                                "name":"bkkk",
                                "type":"record",
                                "fields": [
                                    {"name":"accountid","type":"string"},{"name":"clientid","type":"int"},
                                    {"name":"clientname","type":"string"},{"name":"exerciseid","type":"int"},
                                    {"name":"hedgeid","type":"int"},{"name":"originatingpositionid","type":"int"},
                                    {"name":"positionid","type":"int"},{"name":"relatedpositionid","type":"int"}
                                ]
                            }
                        }
                    }
                ]
            }
        }
    }]
}
...