Fwd: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-14 Thread Timothy Potter
Hi Johnny, Sorry for the delayed response (was offline for a few days). So the code that actually uses Thrift in is the Hive core JAR, which is what will get shaded. The easiest thing to do is add this target to the root build.xml file: Notice this assumes the JAR file f

Re: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Timothy Potter
Sorry, sent too fast ... either way you do it, you'll need to include all of the dependencies of the Hive JDBC driver classes in a single JAR and the apply the shading the unified JAR file. This ensures that all classes that depend on Thrift 0.9 get updated to use the shaded package. For example, I

Re: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Timothy Potter
I'm not sure about keep, but if you're going to use maven, go with the shade plugin vs. jarjar ... it does the same thing but has better maven integration - http://maven.apache.org/plugins/maven-shade-plugin/ On Thu, Oct 10, 2013 at 5:31 PM, Zhang Xiaoyu wrote: > Hi, Timothy, > Thanks for your

Re: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Zhang Xiaoyu
Hi, Timothy, Thanks for your reply. Seems jarjar is a solution for me. I have a basic question to follow: I don't quite understand what is tag for ? My understand is 1. use to grab the maven dependencies I want to re-package, 2. then use and in to define what class to re-package and what's t

Re: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Timothy Potter
Hi Zhang, I have the same issue in that I use some Cassandra client API's that depend on Thrift 0.7 and HCatalog 0.11 that depends on Thrift 0.9. I opted for using the jarjar utility to "shade" the thrift 0.9 classes. Here's what I added to the build.xml file for the hcatalog-pig-adapter project:

Re: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Zhang Xiaoyu
Thanks, Edward. it is a big upgrade for other component. I guess I have to got with class loader for each class for now. Johnny On Thu, Oct 10, 2013 at 12:19 PM, Edward Capriolo wrote: > You are kinda screwed. Thrift is wire-compatible in many cases but not API > compatible. You can not have tw

Re: is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Edward Capriolo
You are kinda screwed. Thrift is wire-compatible in many cases but not API compatible. You can not have two applications build off two versions of thrift in the same classpath without something like OSGI. To insulate the class loaders from each other. Your best bet is upgrading "other component" t

is that possible to use Hive 0.11 with libthrift 0.7

2013-10-10 Thread Zhang Xiaoyu
Hi, all, I am writing a piece of code talking to Hive 0.11 Hive Server 2. The JDBC code depends on libthrift 0.9. However one component which depends on libthrift 0.7 and not binary compatible with libthrift 0.9. When I downgrade to 0.7, I got below NoClassDefFoundError: org/apache/thrift/scheme/S