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

Switch to Threaded View
Avro >> mail # user >> Unable to compile a namespace-less schema


Copy link to this message
-
Re: Unable to compile a namespace-less schema
Hi Doug,
You are right, the code does compile with javac. Apparently it is some
maven error, where it doesn't like to compile package-less files.

Having said that, I still have the issue of not being able to use these
java files in my code, because there is no way to import them. One thing I
tried that sometimes work is adding some arbitrary namespace to the avro
schema. However, when I try to read records using the new (with namespace)
schema, I get in return a generic record instead of a specific one. This
behavior can be observed in the same file I attached by adding an arbitrary
namespace to the schema before generating the Java classes from it.

Is there any way to read specific records when the schema that was used to
write them contains no namespace?

Thanks,
Vitaly
On Wed, Oct 9, 2013 at 6:07 PM, Doug Cutting <[EMAIL PROTECTED]> wrote:

> Using the current trunk of Avro I am able to:
>  - extract the schema from the data file you provided (using
> avro-tools schema command)
>  - generate Java classes for this schema (using the avro-tools compile
> command)
>  - compile these generated Java classes (using the javac command)
>
> Can you provide a complete case of what fails for you?
>
> Thanks,
>
> Doug
>
> On Wed, Oct 9, 2013 at 4:56 PM, Vitaly Gordon <[EMAIL PROTECTED]> wrote:
> > Does anyone else might have an idea how I can resolve this
> "namespace-less"
> > Avro schema code generation?
> >
> > Thanks,
> > Vitaly
> >
> >
> > On Mon, Oct 7, 2013 at 2:04 PM, Vitaly Gordon <[EMAIL PROTECTED]> wrote:
> >>
> >> Hi Sean,
> >> Here is a file that contains a single record that I cannot read using a
> >> specific reader.
> >>
> >> It's hard for me to add code because the problem is a compilation
> problem
> >> with the generated Java files.
> >>
> >> So to recreate the problem:
> >> 1. Extract the schema from the record
> >> 2. Generate the code from the schema
> >> 3. Compile
> >>
> >> Is there another way that I can describe the issue?
> >>
> >>
> >>
> >> On Mon, Oct 7, 2013 at 10:58 AM, Sean Busbey <[EMAIL PROTECTED]>
> wrote:
> >>>
> >>> Hi Vitay!
> >>>
> >>> Can you give us a minimal schema and test program that illustrates the
> >>> problem you're describing?
> >>>
> >>> --
> >>> Sean
> >>>
> >>> On Oct 7, 2013 12:27 PM, "Vitaly Gordon" <[EMAIL PROTECTED]> wrote:
> >>>>
> >>>> Hi All,
> >>>> I am trying to read Avro data that its schema does not have a
> namespace.
> >>>> The problem is that I cannot compile the classes, because the
> generated Java
> >>>> code does not have a package. On the other hand, if I do add some
> arbitrary
> >>>> namespace to the schema, the record is resolved as a generic one,
> which then
> >>>> fails on ClassCastException to the specific record.
> >>>>
> >>>> Any ideas on how I can resolve this issue?
> >>>>
> >>>> Thanks,
> >>>> Vitay
> >>
> >>
> >
>