Thanks Doug.

this .idl form provides a great tool to better organize my schemas.

but a slightly more complicated use case of mine still has problems:

let's say my hello.idl reference record type "Orange", so I define "Orange"
record type in
Orange.avsc,
but Orange contains a Fruit record, so I need to define a Fruit.avsc and
reference it from Orange,
but .avsc does not have the import ability


Thanks
Yang




On Wed, Jun 1, 2011 at 1:06 AM, Doug Cutting <[email protected]> wrote:

> 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
> >
>

Reply via email to