Created 03-27-2016 04:43 AM
Greetings!
I was trying to write some sample Avro schemas, and was unable to create one for an array of array.
{ "testarray":[[1,2,3][4,5,6] ... ] }
{ "name": "testarray", "type": { "type":"array", "items": { "type": { "type":"array", "items": { "name": "temp", "type":"long" } } } } }
But the schema parser throws this error -
---
Exception in thread "main" org.apache.avro.SchemaParseException: No type: {"name":"testarray","type":{"type":"array","items":{"type":{"type":"array","items":{"name":"temp","type":"long"}}}}}
at org.apache.avro.Schema.getRequiredText(Schema.java:1372)
at org.apache.avro.Schema.parse(Schema.java:1231)
at org.apache.avro.Schema$Parser.parse(Schema.java:1031)
at org.apache.avro.Schema$Parser.parse(Schema.java:996)
at com.flipkart.de.App.main(App.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Process finished with exit code 1Created 03-31-2016 05:44 PM
Try this format:
{ "name": "testarray" "type": "array", "items": { "name": "Record1Array”, "type": "record", "fields" : [{ “name": "Array1Value”, "type": { "type": "array", "items": { "name": "Record2Array”, "type":"record", "fields" : [{ "name”:”Array2Value”, "type": "string" }] } } }] } }
Also, when dealing with Avro use Avro IDL; It makes writing/testing schemas easier.
Created 04-07-2016 10:46 AM
This schema corresponds to an array of records (which in turn has arrays), but not an array of array?