"no codec" means you didn't get LZO set up right on the cluster. There are instructions on the wiki of the googlecode project for hadoop lzo. D
On Wed, Feb 16, 2011 at 11:05 AM, Kris Coward <k...@melon.org> wrote: > > After a bunch of fiddling around (including some pretty heavy use of the > secretDebugCmd--thanks), I finally got the LzoTokenizedStorage working, > but now I'm having problems with the LzoTokenizedLoader. > > I'm still using pig 0.8.0-CDH3B4-SNAPSHOT, and for storage, have only > seemed to have luck with the hirohanin jarfile in hadoop-gpl; registered > all the other jarfiles from that package (i.e. google-collect-1.0.jar, > hadoop-lzo-0.4.8.jar, protobuf-java-2.3.0.jar, slf4j-api-1.5.8.jar, > slf4j-log4j12-1.5.10.jar, and yamlbeans-0.9.3.jar) and am now getting > the error ans stack trace: > > ERROR 2997: Unable to recreate exception from backed error: > java.io.IOException: No codec for file > > hdfs://localhost/rawfiles/cf938c112909470baac12a1655e4d705/1295791200/16173945/pst/part-m-00000.lzo > not found, cannot run > > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: Unable > to open iterator for alias test. Backend error : Unable to recreate > exception from backed error: java.io.IOException: No codec for file > > hdfs://localhost/rawfiles/cf938c112909470baac12a1655e4d705/1295791200/16173945/pst/part-m-00000.lzo > not found, cannot run > at org.apache.pig.PigServer.openIterator(PigServer.java:742) > at > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:612) > at > org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:303) > 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.run(Grunt.java:76) > at org.apache.pig.Main.run(Main.java:465) > at org.apache.pig.Main.main(Main.java:107) > Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR > 2997: Unable to recreate exception from backed error: > java.io.IOException: No codec for file > > hdfs://localhost/rawfiles/cf938c112909470baac12a1655e4d705/1295791200/16173945/pst/part-m-00000.lzo > not found, cannot run > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.Launcher.getErrorMessages(Launcher.java:221) > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.Launcher.getStats(Launcher.java:151) > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:337) > at > org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.execute(HExecutionEngine.java:378) > at > org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1198) > at org.apache.pig.PigServer.storeEx(PigServer.java:874) > at org.apache.pig.PigServer.store(PigServer.java:816) > at org.apache.pig.PigServer.openIterator(PigServer.java:728) > ... 7 more > > I'd think that with all the jarfiles I've loaded in (and the fact that > LzoTokenizedStorage worked fine), that there should be a codec kicking > around, so I'm kinda confused here.. > > Any help would be appreciated. > > Thanks, > Kris > > On Sun, Feb 13, 2011 at 03:00:13PM -0800, Dmitriy Ryaboy wrote: > > You are still getting an IncompatibleClassChangeError? > > That usually indicates there's something wrong with the classpath, > > like perhaps your version of Pig is not the one your UDFs (in this > > case, EB) was compiled against. > > > > Can you check your classpath? You can print out exactly what Pig is > > running by passing the "-secretDebugCmd" flag to bin/pig. > > > > D > > > > On Sun, Feb 13, 2011 at 11:00 AM, Kris Coward <k...@melon.org> wrote: > > > > > > Upgrading to pig 0.8.0-CDH3B4-SNAPSHOT, hasn't solved the problem, even > > > trying with each of of the 0.8.0 jar files (the hadoopgpl package used > > > provides 3 of them, one tagged as hirohanin's, another as gerritjvv's > > > and another as yours). I'm going to keep banging away at this, but > would > > > be happy to hear any other ideas that might help. > > > > > > Thanks, > > > Kris > > > > > > On Fri, Feb 11, 2011 at 11:15:56AM -0800, Dmitriy Ryaboy wrote: > > >> The 0.7 branch of EB is not a real thing, it's hirohanin's first > > >> attempt at porting that has a billion bugs. > > >> Most things in it do not, in fact, work. > > >> Use the 0.8 branch and Pig 0.8... > > >> > > >> D > > >> > > >> On Fri, Feb 11, 2011 at 10:47 AM, Kris Coward <k...@melon.org> wrote: > > >> > > > >> > So in the interest of being a little less i/o bound, and saving a > whole > > >> > mess of disk, I've started using > > >> > com.twitter.elephantbird.pig.store.LzoTokenizedStorage for > storage... or > > >> > more accurately, will be using it as soon as I stop getting the > > >> > following error (with stack trace): > > >> > > > >> > ERROR 2998: Unhandled internal error. Implementing class > > >> > > > >> > java.lang.IncompatibleClassChangeError: Implementing class > > >> > at java.lang.ClassLoader.defineClass1(Native Method) > > >> > at > java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) > > >> > at java.lang.ClassLoader.defineClass(ClassLoader.java:616) > > >> > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) > > >> > at > java.net.URLClassLoader.defineClass(URLClassLoader.java:283) > > >> > at java.net.URLClassLoader.access$000(URLClassLoader.java:58) > > >> > at java.net.URLClassLoader$1.run(URLClassLoader.java:197) > > >> > at java.security.AccessController.doPrivileged(Native Method) > > >> > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > > >> > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > > >> > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > > >> > at java.lang.ClassLoader.defineClass1(Native Method) > > >> > at > java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) > > >> > at java.lang.ClassLoader.defineClass(ClassLoader.java:616) > > >> > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) > > >> > at > java.net.URLClassLoader.defineClass(URLClassLoader.java:283) > > >> > at java.net.URLClassLoader.access$000(URLClassLoader.java:58) > > >> > at java.net.URLClassLoader$1.run(URLClassLoader.java:197) > > >> > at java.security.AccessController.doPrivileged(Native Method) > > >> > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > > >> > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > > >> > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > > >> > at java.lang.Class.forName0(Native Method) > > >> > at java.lang.Class.forName(Class.java:247) > > >> > at > org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:422) > > >> > at > org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:452) > > >> > at > org.apache.pig.impl.logicalLayer.parser.QueryParser.NonEvalFuncSpec(QueryParser.java:5087) > > >> > at > org.apache.pig.impl.logicalLayer.parser.QueryParser.StoreClause(QueryParser.java:3568) > > >> > at > org.apache.pig.impl.logicalLayer.parser.QueryParser.BaseExpr(QueryParser.java:1369) > > >> > at > org.apache.pig.impl.logicalLayer.parser.QueryParser.Expr(QueryParser.java:911) > > >> > at > org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.java:724) > > >> > at > org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBuilder.java:63) > > >> > at > org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1336) > > >> > at > org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1286) > > >> > at org.apache.pig.PigServer.registerQuery(PigServer.java:460) > > >> > at > org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:738) > > >> > at > org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:324) > > >> > at > org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:163) > > >> > at > org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:139) > > >> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89) > > >> > at org.apache.pig.Main.main(Main.java:414) > > >> > > > >> > Anyhow, the host machine is running CentOS, with the Cloudera > > >> > distribution of hadoop and pig (pig version: Apache Pig version > 0.7.0+16), > > >> > and elephant-bird from the hadoop-gpl-packing RPM. The tweaks > described > > >> > at http://code.google.com/p/hadoop-gpl-packing/#Using_in_Pig have > been > > >> > applied, and the class still seems to be failing to load. > > >> > > > >> > Anyone have any idea what the problem might be (or how to solve it)? > > >> > > > >> > Thanks, > > >> > Kris > > >> > > > >> > > > >> > -- > > >> > Kris Coward > http://unripe.melon.org/ > > >> > GPG Fingerprint: 2BF3 957D 310A FEEC 4733 830E 21A4 05C7 1FEB 12B3 > > >> > > > > > > > -- > > > Kris Coward > http://unripe.melon.org/ > > > GPG Fingerprint: 2BF3 957D 310A FEEC 4733 830E 21A4 05C7 1FEB 12B3 > > > > > -- > Kris Coward http://unripe.melon.org/ > GPG Fingerprint: 2BF3 957D 310A FEEC 4733 830E 21A4 05C7 1FEB 12B3 >