Note that wrapping records does not increase serialization size. They may require special handling to have the most compact in-memory representation depending on the API in use.
On 3/23/11 6:34 AM, "Douglas Creager" <[email protected]> wrote: >> Is there a way to structure a schema to support recursively nested >>arrays, i.e. an arbitrary number of arrays within arrays? As I haven't >>found a way to reference an array/items "type" by name, I'm not sure >>that its possible. Anyone know any better? > >You need a wrapper record, to give you something that you can name: > >{ > "type": "record", > "name": "foo", > "fields": [ > { "name": "contents", "type": { "type": "array", "items": "foo" } } > ] >} > >In general, you always need a record if you want a recursive type, since >records are the only things that both (a) have names, and (b) can contain >subschemas. > >doug
