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

Switch to Threaded View
Pig, mail # user - Problem with a protobuf in EB


Copy link to this message
-
Re: Problem with a protobuf in EB
Kris Coward 2011-04-29, 20:15

Well I'll send up to the point where it fails and exits, since the rest
seems kinda superfluous.. here it is:

REGISTER '/usr/local/hadoopgpl/lib/slf4j-api-1.5.8.jar'
REGISTER '/usr/local/hadoopgpl/lib/slf4j-log4j12-1.5.10.jar'
REGISTER '/usr/local/pig/lib/elephant-bird.jar'
REGISTER '/usr/local/pig/lib/hadoop-lzo.jar'
REGISTER '/usr/local/pig/lib/piggybank.jar'
REGISTER '/usr/local/pig/lib/jackson-core-asl-1.0.1.jar'
REGISTER '/usr/local/pig/lib/jackson-mapper-asl-1.0.1.jar'
REGISTER '/usr/local/pig/lib/jsp-2.1-6.1.4.jar'
REGISTER '/home/kris/swineflu/com.kontagent.swineflu.jar'
REGISTER '/home/kris/swineflu/logformats-0.1.2.jar'

%declare storage com.twitter.elephantbird.pig.proto.LzoProtobuffB64LinePigStore
%declare loader com.twitter.elephantbird.pig.proto.LzoProtobuffB64LinePigStore

-- load the raw data from HDFS
apaNew = LOAD '$infile/apa' USING $loader('apa');
apaTable = LOAD '$firstfile/apa' USING $loader('firstp');
(where $infile and $firstfile are passed as parameters at runtime, and
the files were tested as existing)

Cheers,
Kris

On Fri, Apr 29, 2011 at 01:00:55PM -0700, Dmitriy Ryaboy wrote:
> Odd.. can you send the full pig script including the register statements?
>
> On Fri, Apr 29, 2011 at 11:38 AM, Kris Coward <[EMAIL PROTECTED]> wrote:
>
> >
> > So I've recently added a protocol/schema to a collection I got from
> > someone else, recompiled it, and added it to my scripts and am having
> > problems.
> >
> > More specifically, it built just fine, and when REGISTERed in the script
> > that uses it to store a relation, it seems to work fine, but when I try
> > to use it to read that same relation back, I get the error:
> >
> > [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2999: Unexpected
> > internal error. Error instantiating com.work.logs.LogFormat$FirstMsg
> > referred to by firstp
> >
> > With a stack trace of:
> >
> > java.lang.RuntimeException: Error instantiating
> > com.work.logs.LogFormat$FirstMsg referred to by firstp
> >        at
> > com.twitter.elephantbird.pig.proto.ProtobufClassUtil.loadProtoClass(Unknown
> > Source)
> >        at
> > com.twitter.elephantbird.pig.proto.LzoProtobuffB64LinePigStore.getSchema(Unknown
> > Source)
> >        at
> > org.apache.pig.impl.logicalLayer.LOLoad.determineSchema(LOLoad.java:186)
> >        at
> > org.apache.pig.impl.logicalLayer.LOLoad.getSchema(LOLoad.java:151)
> >        at
> > org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.java:851)
> >        at
> > org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBuilder.java:63)
> >        at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1601)
> >        at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1551)
> >        at org.apache.pig.PigServer.registerQuery(PigServer.java:523)
> >        at
> > org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:868)
> >        at
> > org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:388)
> >        at
> > org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165)
> >        at
> > org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:141)
> >        at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:90)
> >        at org.apache.pig.Main.run(Main.java:510)
> >        at org.apache.pig.Main.main(Main.java:107)
> > Caused by: java.lang.ClassNotFoundException:
> > com.work.logs.LogFormat$FirstMsg
> >        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> >        at java.security.AccessController.doPrivileged(Native Method)
> >        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> >        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> >        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> >        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> >        ... 16 more
> >
> > The protocol itself is pretty simple, just:
> >
> > message FirstMsg{
> >    optional string uid = 1;

Kris Coward http://unripe.melon.org/
GPG Fingerprint: 2BF3 957D 310A FEEC 4733  830E 21A4 05C7 1FEB 12B3