В этой схеме avro < /p>
{"type": "record",
"name": "Member",
"fields": [
{"name": "name", "type": ["string", "null"] },
{"name": "skill", "type": "string"}
]}
< /code>
Когда я пытаюсь назначить несколько значений, чтобы назвать несколько записей ... < /p>
ByteArrayOutputStream bos=new ByteArrayOutputStream();
Encoder e= EncoderFactory.get().binaryEncoder(bos, null);
GenericRecord rec=new GenericData.Record(schema);
GenericDatumWriter datumWriter = new GenericDatumWriter(schema);
for(int i=0;i
Он всегда назначает NULL для поля имени в схеме ... за исключением первой записи, которую я положил ...
Есть ли способ использования по умолчанию в качестве строки ... и если нет строки, то только он использует NULL, упомянутое в схеме < /p>
, как упомянуто выше, представлена с использованием json arrices. Например, ["string", "null"] объявляет схему, которая может быть либо строкой, либо нулевой. Например, профсоюзы, содержащие два типа массива или два типа карт, не допускаются, но разрешены два типа с разными именами. (Имена разрешает эффективное разрешение при чтении и написании профсоюзов.) < /P>
Так что всегда требуется нулевое, даже если существует строковое значение, за исключением первой записи < /p>
Подробнее здесь: https://stackoverflow.com/questions/170 ... tring-null