[ 
https://issues.apache.org/jira/browse/PIG-4743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15025763#comment-15025763
 ] 

Shashikant Kulkarni commented on PIG-4743:
------------------------------------------

I also downgraded the Hadoop version from 2.6.1 to 2.5.1 because of version 
compatibility issues with HBase.

> PIG HBaseStorage with HBase not working
> ---------------------------------------
>
>                 Key: PIG-4743
>                 URL: https://issues.apache.org/jira/browse/PIG-4743
>             Project: Pig
>          Issue Type: Bug
>         Environment: CentOS 6.7
> Hadoop 2.6.1
> HBase 1.1.2
> PIG 0.15.0
> JDK 1.7.0_21
>            Reporter: Shashikant Kulkarni
>
> I am using Hadoop version 2.6.1, HBase version 1.1.2 and PIG version 0.15.0
> I have also set the required environment variables in /home/hadoop/.bashrc 
> file as follows
> ========================
> # .bashrc
> # Source global definitions
> if [ -f /etc/bashrc ]; then
>       . /etc/bashrc
> fi
> # User specific aliases and functions
> export HADOOP_HOME=/opt/hadoop/hadoop
> export HADOOP_INSTALL=$HADOOP_HOME
> export HADOOP_MAPRED_HOME=$HADOOP_HOME
> export HADOOP_COMMON_HOME=$HADOOP_HOME
> export HADOOP_HDFS_HOME=$HADOOP_HOME
> export YARN_HOME=$HADOOP_HOME
> export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
> export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
> ### Flume Home Directory
> export FLUME_HOME=/usr/lib/flume/apache-flume
> export FLUME_CONF_DIR=$FLUME_HOME/conf
> export FLUME_CLASSPATH=$FLUME_CONF_DIR
> export PATH=$PATH:$FLUME_HOME/bin
> ### HBase Home Directory
> export HBASE_HOME=/usr/lib/hbase
> export HBASE_CONF_DIR=$HBASE_HOME/conf
> export HBASE_CLASSPATH=$HBASE_CONF_DIR
> export PATH=$PATH:$HBASE_HOME/bin
> ###Hive Home Directory
> export HIVE_HOME=/usr/lib/hive/apache-hive
> export HIVE_CONF_DIR=$HIVE_HOME/conf
> export HIVE_CLASSPATH=$HIVE_CONF_DIR
> export PATH=$PATH:$HIVE_HOME/bin
> ###HCatalog Home Directory
> export HCAT_HOME=$HIVE_HOME/hcatalog
> export HCAT_CONF_DIR=$HCAT_HOME/etc/hcatalog:$HCAT_HOME/etc/webhcat
> export HCAT_CLASSPATH=$HCAT_CONF_DIR
> export PATH=$PATH:$HCAT_HOME/bin:$HCAT_HOME/sbin
> ###PIG Home Directory
> export PIG_HOME=/usr/lib/pig/pig-0.15.0
> export PIG_CONF_DIR=$PIG_HOME/conf
> export 
> PIG_CLASSPATH=$PIG_CONF_DIR:$PIG_HOME/pig-0.15.0-core-h2.jar:$HBASE_HOME
> export PATH=$PATH:$PIG_HOME/bin
> ==========================
> When I try to execute the following script
> raw = LOAD 'hbase://test_table' USING 
> org.apache.pig.backend.hadoop.hbase.HBaseStorage ('test_cf:NAME') AS 
> (NAME:chararray);
> I get following error message
> Pig Stack Trace
> ---------------
> ERROR 1200: Pig script failed to parse: 
> <file sample1.pig, line 1, column 6> pig script failed to validate: 
> java.lang.RuntimeException: could not instantiate 
> 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments 
> '[test_cf:NAME]'
> org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during 
> parsing. Pig script failed to parse: 
> <file sample1.pig, line 1, column 6> pig script failed to validate: 
> java.lang.RuntimeException: could not instantiate 
> 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments 
> '[test_cf:NAME]'
>       at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1748)
>       at org.apache.pig.PigServer$Graph.access$000(PigServer.java:1443)
>       at org.apache.pig.PigServer.parseAndBuild(PigServer.java:387)
>       at org.apache.pig.PigServer.executeBatch(PigServer.java:412)
>       at org.apache.pig.PigServer.executeBatch(PigServer.java:398)
>       at 
> org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:171)
>       at 
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:234)
>       at 
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:205)
>       at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81)
>       at org.apache.pig.Main.run(Main.java:631)
>       at org.apache.pig.Main.main(Main.java:177)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:601)
>       at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
> Caused by: Failed to parse: Pig script failed to parse: 
> <file sample1.pig, line 1, column 6> pig script failed to validate: 
> java.lang.RuntimeException: could not instantiate 
> 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments 
> '[test_cf:NAME]'
>       at 
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:199)
>       at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1735)
>       ... 15 more
> Caused by: 
> <file sample1.pig, line 1, column 6> pig script failed to validate: 
> java.lang.RuntimeException: could not instantiate 
> 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments 
> '[test_cf:NAME]'
>       at 
> org.apache.pig.parser.LogicalPlanBuilder.buildLoadOp(LogicalPlanBuilder.java:897)
>       at 
> org.apache.pig.parser.LogicalPlanGenerator.load_clause(LogicalPlanGenerator.java:3568)
>       at 
> org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1625)
>       at 
> org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:1102)
>       at 
> org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:560)
>       at 
> org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:421)
>       at 
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:191)
>       ... 16 more
> Caused by: java.lang.RuntimeException: could not instantiate 
> 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments 
> '[test_cf:NAME]'
>       at 
> org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:772)
>       at 
> org.apache.pig.parser.LogicalPlanBuilder.buildLoadOp(LogicalPlanBuilder.java:885)
>       ... 22 more
> Caused by: java.lang.reflect.InvocationTargetException
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
>       at 
> org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:740)
>       ... 23 more
> Caused by: java.lang.NoSuchMethodError: 
> org.apache.hadoop.hbase.client.Scan.setCacheBlocks(Z)V
>       at 
> org.apache.pig.backend.hadoop.hbase.HBaseStorage.initScan(HBaseStorage.java:427)
>       at 
> org.apache.pig.backend.hadoop.hbase.HBaseStorage.<init>(HBaseStorage.java:368)
>       at 
> org.apache.pig.backend.hadoop.hbase.HBaseStorage.<init>(HBaseStorage.java:239)
>       ... 28 more
> ================================================================================
> The hbase-client-1.1.2.jar is in path of PIG which contains the 
> org.apache.hadoop.hbase.client.Scan class.
> Can someone please help if I am missing the configuration somewhere? Am I 
> using the compatible versions of PIG and HBase.
> I also tried all the suggestion found on internet to fix this problem, 
> including compiling PIG, copying Jars, Registering Jars with PIG, etc. 
> Nothing is working for me.
> Thanks



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to