Код: Выделить всё
{
"type": "record",
"name": "ASillySchema",
"namespace": "com.my.company.redacted",
"fields": [
{
"name": "my_overly_complex_map",
"type": [
"null",
{
"type": "map",
"values": [
"null",
"string",
"boolean",
"int",
"long",
"float",
"double",
{
"type": "array",
"items": [
"null",
"string",
"boolean",
"int",
"long",
"float",
"double"
]
}
]
}
],
"default": null
}
]
}
Код: Выделить всё
Map myOverlyComplexMap = new HashMap();
List mixedTypeObjectArray = new ArrayList(Arrays.asList(
null,
"a string",
true,
35,
20L,
201f,
202d
));
myOverlyComplexMap.put("arrayKey", mixedTypeObjectArray);
ASillySchema testRecord = ASillySchema.newBuilder()
.setMyOverlyComplexMap(myOverlyComplexMap)
.build();
// send testRecord to topic using Java kafka producer...
Код: Выделить всё
Caused by: org.apache.avro.UnresolvedUnionException: Not in union ["null","string","boolean","int","long","float","double"]: [null, a string, true, 35, 20, 201.0, 202.0]
at org.apache.avro.generic.GenericData.resolveUnion(GenericData.java:896)
at org.apache.avro.generic.GenericDatumWriter.resolveUnion(GenericDatumWriter.java:272)
at org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:143)
at org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:83)
at org.apache.avro.generic.GenericDatumWriter.writeMap(GenericDatumWriter.java:305)
at org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:140)
...
Подробнее здесь: https://stackoverflow.com/questions/789 ... type-array