Thank you Doug. This is bang on.

On Wed, Jan 7, 2015 at 11:12 AM, Doug Cutting <[email protected]> wrote:

> You're calling GoraCompiler#main, which inherits
> SpecificCompiler#main, which unconditionally calls compileSchema.
>
> You could wrap your record schema in {"protocol":"X", ..., "types": [
> <schema> ] } so this works.
>
> Or you might use SpecificCompilerTool, which supports compiling both
> schemas and protocols from the command line.  This is in the
> avro-tools jar with dependencies included or in avro-tools-nodeps
> without.
>
> Doug
>
>
>
> On Wed, Jan 7, 2015 at 10:49 AM, Lewis John Mcgibbney
> <[email protected]> wrote:
> > Hey Joey or anyone else.
> > Any ideas what is up here? I read through the Avro spec to see if I was
> > missing something (which I most likely am) but couldn't find a sausage.
> > Thanks again in advance for any help.
> > The schema is valid JSON, the stack trace is looking for a Protocol when
> it
> > is clearly marked as a Record.
> >
> > On Tue, Jan 6, 2015 at 2:42 PM, Joey Echeverria <[email protected]>
> wrote:
> >>
> >> Can you send the definition of the ant task that you're using to parse
> it?
> >>
> >> -Joey
> >>
> >> On Tue, Jan 6, 2015 at 1:50 PM, Lewis John Mcgibbney
> >> <[email protected]> wrote:
> >> > Hi Folks,
> >> > I have the following small schema
> >> >
> >> > {
> >> >   "name": "Host",
> >> >   "type": "record",
> >> >   "namespace": "org.apache.nutch.storage",
> >> >   "doc": "Host represents a store of webpages or other data which
> >> > resides on
> >> > a server or other computer so that it can be accessed over the
> >> > Internet",
> >> >   "fields": [
> >> >     {
> >> >       "name": "metadata",
> >> >       "type": {
> >> >         "type": "map",
> >> >         "values": ["null","bytes"]
> >> >       },
> >> >       "doc": "A multivalued metadata container used for storing a wide
> >> > variety of host metadata such as structured web server characterists
> >> > etc",
> >> >       "default": {
> >> >
> >> >       }
> >> >     },
> >> >     {
> >> >       "name": "outlinks",
> >> >       "type": {
> >> >         "type": "map",
> >> >         "values": ["null","string"]
> >> >       },
> >> >       "doc": "Hyperlinks which direct outside of the current host
> domain
> >> > these can used in a histogram style manner to generate host
> statistics",
> >> >       "default": {
> >> >
> >> >       }
> >> >     },
> >> >     {
> >> >       "name": "inlinks",
> >> >       "type": {
> >> >         "type": "map",
> >> >         "values": ["null","string"]
> >> >       },
> >> >       "doc": "Hyperlinks which link to pages within the current host
> >> > domain
> >> > these can used in a histogram style manner to generate host
> statistics",
> >> >       "default": {
> >> >
> >> >       }
> >> >     }
> >> >   ]
> >> > }
> >> >
> >> >
> >> > When I use Avro 1.7.6 to parse it via an Ant task, I am getting the
> >> > following parse exception
> >> >
> >> >      [java] Caused by: org.apache.avro.SchemaParseException: No
> protocol
> >> > name specified:
> >> >
> >> >
> {"name":"Host","type":"record","namespace":"org.apache.nutch.storage","doc":"Host
> >> > represents a store of webpages or other data which resides on a server
> >> > or
> >> > other computer so that it can be accessed over the
> >> >
> >> >
> Internet","fields":[{"name":"metadata","type":{"type":"map","values":["null","bytes"]},"doc":"A
> >> > multivalued metadata container used for storing a wide variety of host
> >> > metadata such as structured web server characterists
> >> >
> >> >
> etc","default":{}},{"name":"outlinks","type":{"type":"map","values":["null","string"]},"doc":"Hyperlinks
> >> > which direct outside of the current host domain these can used in a
> >> > histogram style manner to generate host
> >> >
> >> >
> statistics","default":{}},{"name":"inlinks","type":{"type":"map","values":["null","string"]},"doc":"Hyperlinks
> >> > which link to pages within the current host domain these can used in a
> >> > histogram style manner to generate host statistics","default":{}}]}
> >> >      [java]     at
> org.apache.avro.Protocol.parseName(Protocol.java:426)
> >> >      [java]     at org.apache.avro.Protocol.parse(Protocol.java:399)
> >> >      [java]     at org.apache.avro.Protocol.parse(Protocol.java:390)
> >> >      [java]     at org.apache.avro.Protocol.parse(Protocol.java:361)
> >> >      [java]     at
> >> >
> >> >
> org.apache.avro.compiler.specific.SpecificCompiler.compileProtocol(SpecificCompiler.java:248)
> >> >      [java]     at
> >> >
> >> >
> org.apache.avro.compiler.specific.SpecificCompiler.compileProtocol(SpecificCompiler.java:238)
> >> >      [java]     at
> >> >
> >> >
> org.apache.avro.compiler.specific.SpecificCompiler.main(SpecificCompiler.java:719)
> >> >      [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >> > Method)
> >> >      [java]     at
> >> >
> >> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> >      [java]     at
> >> >
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> >      [java]     at java.lang.reflect.Method.invoke(Method.java:606)
> >> >      [java]     at
> >> > org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
> >> >      [java]     at
> >> >
> org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
> >> >      [java]     ... 20 more
> >> >      [java] Java Result: -1
> >> >
> >> > The thing is that I do not wish this to be a Protocol as such, it is
> >> > merely
> >> > a simple Schema. Can anyone help me out to debug this?
> >> > Thank you
> >> > Lewis
> >> >
> >> > --
> >> > Lewis
> >>
> >>
> >>
> >> --
> >> Joey Echeverria
> >
> >
> >
> >
> > --
> > Lewis
>



-- 
*Lewis*

Reply via email to