I'm using Pig 0.8.1.
I recieved an error trying to use a dynamic invoker with
URLDecoder.decode(String, String) caused by
java.lang.NoClassDefFoundError: com/google/common/collect/Sets which is
used by org.apache.builtin.Invoker and packaged in pig-0.8.1-core.jar.
To get around this issue I had to register the pig jar as in the example
below. This doesn't seem like it should be necessary, though I do see
one other reference to this in a prior e-mail thread between Dmitry
Ryaboy and Dan Brickley back in March
(http://mail-archives.apache.org/mod_mbox/pig-user/201103.mbox/%[email protected]%3E).
Is this how it should work, or am I doing something wrong?
REGISTER $PIG_DIR/pig-0.8.1-core.jar
DEFINE UrlDecode InvokeForString('java.net.URLDecoder.decode', 'String
String');
data = LOAD file AS a:chararray;
foo = FOREACH data GENERATE UrlDecode(a, 'UTF-8') AS a;
Thanks,
Sean