Thanks, Doug,
I will try it in my project.
On Tue, Jan 11, 2011 at 3:27 AM, Doug Cutting <[EMAIL PROTECTED]> wrote:
> 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 <[EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>> 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
>>
>
--
Xingen Wang