Hi,

 

I'm trying to use Pig 0.9.2 with HBase 0.93 (i.e. the latest from HBase
trunk) and following the tutorial. 

 

This line loads the sample file from HDFS successfully:

raw = LOAD 'test/excite-small.log' USING PigStorage('\t') AS (user, time,
query);

 

This line seems to work:

T= FOREACH raw GENERATE CONCAT(CONCAT(user, '\u0000'), time), query;

 

Because when I do:

DUMP T;

I get the response I expected.

 

But if I then do:

                STORE T INTO 'excite' USING
org.apache.pig.backend.hadoop.hbase.HBaseStorage('colfam1:query');

I get (in the log):

Pig Stack Trace

---------------

ERROR 2998: Unhandled internal error.
org/apache/hadoop/hbase/filter/WritableByteArrayComparable

 

java.lang.NoClassDefFoundError:
org/apache/hadoop/hbase/filter/WritableByteArrayComparable

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:247)

        at
org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:428)

        at
org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:458)

        at
org.apache.pig.parser.LogicalPlanBuilder.validateFuncSpec(LogicalPlanBuilder
.java:723)

        at
org.apache.pig.parser.LogicalPlanBuilder.buildFuncSpec(LogicalPlanBuilder.ja
va:712)

        at
org.apache.pig.parser.LogicalPlanGenerator.func_clause(LogicalPlanGenerator.
java:4340)

        at
org.apache.pig.parser.LogicalPlanGenerator.store_clause(LogicalPlanGenerator
.java:5956)

        at
org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.ja
va:1122)

        at
org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGene
rator.java:683)

        at
org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.ja
va:483)

        at
org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:3
69)

        at
org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:171)

        at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1609)

        at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1582)

        at org.apache.pig.PigServer.registerQuery(PigServer.java:584)

        at
org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:942)

        at
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
java:386)

        at
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:188
)

        at
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:164
)

        at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)

        at org.apache.pig.Main.run(Main.java:495)

        at org.apache.pig.Main.main(Main.java:111)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.hbase.filter.WritableByteArrayComparable

        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:306)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

        ... 28 more

 

Grateful for any help with this.

 

Thanks,

Royston

Reply via email to