Hello, Currently the jdbc driver contains lots of hive code; which are not needed for the driver to function properly - jdbc-standalone is currently a 60M binary! :)
I've opened a ticket, to explore the possibilites what can be done in this aspect to reduce jdbc's dependencies. I was able to remove most of the service and the metastore dependencies - by introducing 2 new modules: I called them metastore-api and service-client. As a change like this would mean that the released jars name and purpose would change - I didn't wanted to just file a jira about it :) So...I would like to ask for opinions or any concerns against doing the following: 1) Splitting the metastore module; the new module would be named as metastore-X (my proposals for X are: client,rpc,if or api). * the dependency would contain the thrift interface * and possibly a few other source files which are needed to use it. 2) Splitting the service module; the new module would be named service-X (my propsal for X would be client) * the module would contain auth related classes * some other basic stuffs like RowSet * connected change: jdbc driver would change the support of embedded mode to only make it usable if 'service' is loaded onto the classpath With these two modules available, the size of the jdbc driver have dropped to about 21M. more info: https://issues.apache.org/jira/browse/HIVE-16214 regards, Zoltan