hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manuel Vellon <mannyvel...@level11.com>
Subject Problem with Hive JDBC + HBase
Date Fri, 27 Sep 2013 22:04:16 GMT
I am getting an error when using the Hive JDBC driver:

	java.lang.NoSuchMethodError:  org.apache.thrift.EncodingUtils.setBit(BIZ)B

I've seen several messages suggesting that this is a problem due to different thrift jars
in hbase and hive. To avoid this problem, I copied the Hive thrift jar (libthrift-0.9.0.jar)
into the hbase/lib directory (and verified, with ps, that it's being picked up in the class
path.)  Alas, I still get the error.

Individually, Hadoop, HBase and Hive all run fine.

The ps output does not show any other java process using any other =
version of libthrift.

Here are the versions that I'm using:

hadoop: 1.2.1
hbase: 0.94.12
hive: 0.10.0

The code that triggers the problem is simple:

			Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
			Connection con = DriverManager.getConnection("jdbc:hive://127.0.0.1:10000/default", "",
"");
			Statement stmt = con.createStatement();
			ResultSet res = stmt.executeQuery("show tables");
			// code blows up on next statement
			while(res.next())
			{
				String str = res.getString(0);
				System.out.println(str);
			}
			res.close();
			stmt.close();
			con.close();

The abbreviated stack trace looks like:

java.lang.NoSuchMethodError: org.apache.thrift.EncodingUtils.setBit(BIZ)B
	at org.apache.hadoop.hive.service.ThriftHive$fetchN_args.setNumRowsIsSet(ThriftHive.java:2401)
	at org.apache.hadoop.hive.service.ThriftHive$fetchN_args.setNumRows(ThriftHive.java:2388)
	at org.apache.hadoop.hive.service.ThriftHive$Client.send_fetchN(ThriftHive.java:157)
	at org.apache.hadoop.hive.service.ThriftHive$Client.fetchN(ThriftHive.java:150)
	at org.apache.hadoop.hive.jdbc.HiveQueryResultSet.next(HiveQueryResultSet.java:138)

Any clues as to what I should try next would be appreciated.
Mime
View raw message