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
Vitaly Gordon 2013-10-11, 20:59
Hi Doug,
I've attached a maven project that contains code that shows the problem.
The code is basically the same one from the Avro guide, but what is
important to observe is that since the Main class has a package define, it
cannot import the classes generated from the namespace-less schema.

just run mvn:compile to get the compilation errors

Thanks,
Vitaly
On Thu, Oct 10, 2013 at 1:58 PM, Doug Cutting <[EMAIL PROTECTED]> wrote:

> I encourage you to please provide a complete test, code that fails.
> If maven is involved, create a simple, Maven project that illustrates
> the problem.
>
> Thanks,
>
> Doug
>
> On Wed, Oct 9, 2013 at 11:21 PM, Vitaly Gordon <[EMAIL PROTECTED]> wrote:
> > 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
> >> >>
> >> >>
> >> >
> >
> >
>