где одно из полей было бы массивом записей? что имею в виду:
есть схема авро, в которой одно из полей выглядит так
{
"name": "some_objects",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "SomeRecord",
"fields": [
{
"name": "field1",
"type": "long",
"default": 0
},
{
"name": "field2",
"type": "boolean",
"default": false
}
]
}
},
"default": []
},
и есть запрос для создания таблицы, где поле описано как
some_objects Nested
(field1 Int64,
field2 String),
таблица успешно создается, но при чтении вылетает Field some_objects.field1 not found in Avro schema.
с одной стороны это логично, потому что там лежит внутри не record, а массив record. но с другой стороны - я не могу в клике создать Array(Nested). какой тогда должен быть тип?
(нашел похожий кейс - https://github.com/ClickHouse/ClickHouse/issues/9707, но тут нет массива, просто вложенная запись)
Array(Tuple(Int64, String)) но все это херня и работать не будет, и авро сделан на отвали и все равно все сломается, если не сегодня, то через неделю знаю что для того чтобы массивы более менее работали, люди пишут в avro массивы как строки, с числами через запятую, потом парсят, непонятно правда зачем им авро и нафига такие мучения
Обсуждают сегодня