Мне интересно, возможно ли иметь дополнительный массив. Предположим, что схема такова:
{
"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 в datafilewriter. Для subrecord это просто отлично, но когда я пытаюсь определить массив как необязательный:
{"name": "simple_array",
"type":[{
"type": "array",
"items": "string"
}, "null"]
Это не приводит к NPE, но исключению во время выполнения:
AvroRuntimeException: Not an array schema: [{"type":"array","items":"string"},"null"]
Спасибо.