Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Avro >> mail # user >> Transform a single .avdl or .avpr into one or many .avsc

Copy link to this message
Re: Transform a single .avdl or .avpr into one or many .avsc
After browsing the (nice) API, it seems indeed trivial.

The Idl class allows to read/parse the related file.

The Protocol object can then be requested from it.

Of course, the types can then be requested from the Protocol itself.

And then it is only a matter of serializing them. And actually the API
provides even a 'pretty' option.

I will definitely look at it (ie with javac). Contributing it as a tool
would be nice. But I won't go into the maven land.


On Fri, May 17, 2013 at 9:11 PM, Doug Cutting <[EMAIL PROTECTED]> wrote:

> There's not a tool that does this currently.  Note however that
> existing tools will generate Java classes for each type in an IDL
> file, so if you're only using Java then you might not need a .avsc
> file for each type in the IDL.
> It would not be hard to add a tool (or an option to an existing tool)
> that wrote a .avsc file for each type in an .avdl file.  One could
> also add Maven support for this.  If this is of interest, please file
> an issue in Jira.
> https://issues.apache.org/jira/browse/AVRO
> If you're willing and able, please provide an implementation.
> Otherwise hopefully someone else will help out.
> Cheers,
> Doug
> On Fri, May 17, 2013 at 7:10 AM, Jeremy Kahn <[EMAIL PROTECTED]> wrote:
> > The "types" field in a protocol (.avro) may get you what you need. The
> > corresponding schema objects should be able to render to well-formed avsc
> > objects.
> >
> > On May 17, 2013 5:47 AM, "Bertrand Dechoux" <[EMAIL PROTECTED]> wrote:
> >>
> >> Hi,
> >>
> >> I have lots of avro schemas and most of them are about complex objects
> (ie
> >> nested definition of stuff). The syntax of avro idl is attractive in
> order
> >> to build something more readable and thus maintainable. However, it
> looks
> >> like I can't generate any avsc from a avdl (or the avpr generated from
> the
> >> avdl). I understand what is a protocol and I don't need one but the idl
> >> syntax is really attractive. Is there really no way to use it for that
> >> purpose?
> >>
> >> Regards
> >>
> >> Bertrand
> >>
> >>
> >> PS : I remember seeing a discussion about that subject but I can't find
> >> it.

Bertrand Dechoux