Hello Ted
Below is the stack trace. May I say that because HBase having
removed WritableByteArrayComparable, but pig is not upgrade for this change?
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:510)
at
org.apache.pig.parser.LogicalPlanBuilder.validateFuncSpec(LogicalPlanBuilder.java:1220)
at
org.apache.pig.parser.LogicalPlanBuilder.buildFuncSpec(LogicalPlanBuilder.java:1208)
at
org.apache.pig.parser.LogicalPlanGenerator.func_clause(LogicalPlanGenerator.java:4849)
at
org.apache.pig.parser.LogicalPlanGenerator.load_clause(LogicalPlanGenerator.java:3206)
at
org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1338)
at
org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:822)
at
org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:540)
at
org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:415)
at
org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:181)
at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1633)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1606)
at org.apache.pig.PigServer.registerQuery(PigServer.java:565)
at
org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:1032)
at
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:499)
at
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:194)
at
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170)
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
at org.apache.pig.Main.run(Main.java:543)
at org.apache.pig.Main.main(Main.java:158)
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:212)
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)
... 27 more
Kyle
2013/12/7 Ted Yu <[email protected]>
> bq. HDP2(HBase 0.95.2.2.0.5.0-64
>
> HDP2 goes with 0.96.0
>
> bq. java.lang.ClassNotFoundException: org.apache.hadoop.hbase.filter.
> WritableByteArrayComparable.
>
> Can you show us the stack trace ?
> WritableByteArrayComparable doesn't exist in 0.96 and later branches.
>
> Cheers
>
>
> On Sat, Dec 7, 2013 at 4:22 AM, Rohini Palaniswamy
> <[email protected]>wrote:
>
> > Do a register of your hbase and zookeeper jars in the pig script.
> >
> > -Rohini
> >
> >
> > On Fri, Dec 6, 2013 at 1:56 AM, Kyle Lin <[email protected]> wrote:
> >
> > > Hey there
> > >
> > > First, my Environment: Hortonworks HDP2(HBase 0.95.2.2.0.5.0-64,
> Pig
> > > 0.11.1).
> > >
> > > I use pig to load data from hbase, then got Exception Message of
> > > java.lang.ClassNotFoundException:
> > > org.apache.hadoop.hbase.filter.WritableByteArrayComparable.
> > >
> > > My script is like below:
> > > samples = LOAD 'hbase://test' using
> > > org.apache.pig.backend.hadoop.hbase.HBaseStorage('cf:name cf:phone
> > > cf:city cf:address')
> > > as (name, phone, city, address);
> > > dump samples;
> > >
> > > After googling, people said you need to set PIG_CLASSPATH first.
> So I
> > > try to add the target jar in PIG_CLASSPATH, but cannot
> > > find org.apache.hadoop.hbase.filter.WritableByteArrayComparable in any
> > > hbase jars.
> > >
> > >
> > > Kyle
> > >
> >
>