avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <cutt...@apache.org>
Subject Re: "include" ability in schema file
Date Wed, 01 Jun 2011 08:06:12 GMT
Avro IDL supports imports:

http://avro.apache.org/docs/current/idl.html#imports

One can also use a protocol with no messages to define multiple,
dependent types.

To get a type from a protocol file in Java one can use something like:

  Schema s = Protocol.parse("MyProtocol.avpr").getType("Foo");

Doug

On 06/01/2011 01:33 AM, Yang wrote:
> I have a protocol schema  hello.avpr
> 
> { ....
> types: {
>    { name : input_msg ,  type: record : fields [
>         { name: date , type int },
>        { name :msg, type: string}
>     ]
>   }
> 
> }
> 
> }
> 
> 
> now if I need to serialize the record "input_msg", I'm going to need its
> schema,
> so I'd need to pass a schema obj to DataFileWriter. but how can I parse
> the schema out from schema file?
> the schema for "input_msg" is not a standalone file. 
> 
> I would like a way to write the type of "input_msg" in a standalone
> file, and then reference/include that from my hello.avpr.
> is this possible?
> 
> 
> also btw, for an avro-generate object class, would it be better to make
> the getSchema() method static?
> that way I can get its schema without creating an actual obj
> 
> 
> 
> maybe this is not a big issue, we can simply create some hack scripts to
> paste together individual files, i.e. creating our own
> "include" macro, but that's kind of kludgy
> 
> thanks
> Yang
> 

Mime
View raw message