Мне интересно, возможно ли иметь необязательный массив.Давайте предположим, что схема выглядит следующим образом:
{
"type": "record",
"name": "test_avro",
"fields" : [
{"name": "test_field_1", "type": "long"},
{"name": "subrecord", "type": [{
"type": "record",
"name": "subrecord_type",
"fields":[{"name":"field_1", "type":"long"}]
},"null"]
},
{"name": "simple_array",
"type":{
"type": "array",
"items": "string"
}
}
]
}
Попытка записи записи avro без "simple_array" приведет к NPE в файле записи данных.Для подзаписи это просто отлично, но когда я пытаюсь определить массив как необязательный:
{"name": "simple_array",
"type":[{
"type": "array",
"items": "string"
}, "null"]
Это не приводит к NPE, а исключению времени выполнения:
AvroRuntimeException: Not an array schema: [{"type":"array","items":"string"},"null"]
Спасибо.