sam liu created SQOOP-1165:
------------------------------
Summary: When import data into Hive, sqoop pick up the jar files
from $HBASE_HOME/lib, not from $HIVE_HOME/lib
Key: SQOOP-1165
URL: https://issues.apache.org/jira/browse/SQOOP-1165
Project: Sqoop
Issue Type: Bug
Components: tools
Affects Versions: 1.4.3
Environment: RHEL 5.4 x86_64
Reporter: sam liu
My env includes $HADOOP_HOME, $HBASE_HOME and $HIVE_HOME. But I failed to
execute command './sqoop import --connect jdbc:db2://hostname:50000/sample
--username user --password pwd --table STAFF --hive-table staff --hive-import
--m 1', and it returned exception:
13/08/05 10:33:35 INFO hive.HiveImport: Exception in thread "main"
java.lang.NoSuchMethodError: org/apache/thrift/EncodingUtils.setBit(BIZ)B
13/08/05 10:33:35 INFO hive.HiveImport: at
org.apache.hadoop.hive.metastore.api.PrivilegeGrantInfo.setCreateTimeIsSet(PrivilegeGrantInfo.java:245)
13/08/05 10:33:35 INFO hive.HiveImport: at
org.apache.hadoop.hive.metastore.api.PrivilegeGrantInfo.<init>(PrivilegeGrantInfo.java:163)
I believe the root cause is that: when import data into hive, this command
leveraged the libthrift-0.8.0.jar under folder $HBASE_HOME/lib, but not use the
libthrift-0.9.0.jar under folder $HIVE_HOME/lib. This is incorrect, and caused
the failure of hive import.
In the $SQOOP_HOME/bin/configure-sqoop file, it will add the classpath of HBASE
into the classpath of SQOOP, but won't add the classpath of HIVE into classpath
of SQOOP. The correct way is to add the classpath of HBASE into the classpath
of SQOOP when the command relates to hbase, but to add the classpath of HIVE
when the command relates to hive.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira