avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <cutt...@apache.org>
Subject Re: Some questions for Avro
Date Mon, 10 Jan 2011 19:27:10 GMT
On 12/07/2010 03:06 AM, Xingen Wang wrote:
>   I just want my rpc framework be able to transport any objects through
> network without any modification in the existing schema definition.
>
> Can I achieve this objective with Avro

Perhaps.  A way to do this is to define a general schema.  If, for 
example, your objects were named records whose named fields could be 
null, boolean, long, double, string or a nested record value, then your 
schema might be something like:

{"name":"data", "type":"record", "fields":[
   {"name":"value", "type":
     ["null",
      "boolean",
      "long",
      "double"
      "string",
      {"name":"record", "type":"record", "fields":[
        {"name":"fields", "type":
          {"type":"array", "items":
            {"name":"field", "type":"record", "fields":[
              {"name":"name", "type":"string"},
              {"name":"value", "type":"data"}
            ]}
          }
        }]}
]}

Note that this is almost a schema for the JSON data model.

Doug

> On Tue, Dec 7, 2010 at 9:12 AM, Jeff Hammerbacher <hammer@cloudera.com
> <mailto:hammer@cloudera.com>> wrote:
>
>     Hey Xingen,
>
>         1. Does the json schema support extends? e.g. First, I define an
>         general-purpose json schema named "Object", and in other json
>         schema, try to extends this "Object".
>
>
>     Avro IDL supports includes:
>     http://avro.apache.org/docs/current/idl.html#imports. It does not
>     support extensions, to the best of my knowledge. Perhaps you could
>     file a feature request at https://issues.apache.org/jira/browse/AVRO?
>
>         2. In the primitive types, I can't find one type that can
>         represent any objects. I tried "record", but you have to specify
>         "name" and "fields" for it.
>
>
>     You could make a union of all of the primitive types? I'm not sure
>     exactly what you're trying to accomplish with this question though.
>
>     Thanks,
>     Jeff
>
>
>
>
> --
> Xingen Wang

Mime
View raw message