A cluster I'm using was recently upgraded to PIG 0.6.  Since then,
I've been having problems with scripts that use PiggyBank functions.
All the map jobs for the script fail with:
WARN org.apache.hadoop.mapred.Child: Error running child
java.lang.ClassCastException: org.apache.pig.ExecType cannot be cast
to org.apache.pig.impl.PigContext
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SliceWrapper.readFields(SliceWrapper.java:168)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:333)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
        at org.apache.hadoop.mapred.Child.main(Child.java:159)
INFO org.apache.hadoop.mapred.Task: Runnning cleanup for the task

I compiled the PiggyBank jar using the latest code from SVN (as of Jan
9) and Pig 0.6.  Below I've included a simple example program that
caused the error that simply reads a text file of words and lower
cases them.

register ./piggybank.jar
DEFINE ToLower org.apache.pig.piggybank.evaluation.string.LOWER();
words = LOAD './data/headwords_sample' USING PigStorage() as (word:charArray);
lowerCaseWords = FOREACH words GENERATE ToLower(word) as word;
STORE lowerCaseWords into './tmp/cooc3' USING PigStorage();

The Hadoop error isn't very informative about what is going on.  Am I
using a compatible version of PiggyBank?  What should I be doing
differently?

Thanks,

- Jeff

Reply via email to