我已经使用JDBC api连接到引用here的HIVE2,它很成功,因此为了便于访问,我想到使用JSP作为前端页面创建一个webapp来输入服务器名称和查询。虽然从JSP页面到servlet正确解析了所有参数,但在连接到HIVE服务器时会抛出错误 将libthrift和hive JARS放在WEB-INF / lib目录中我放在WEB-INF / lib和classpath中。
问题是因为hive jar首先出现在WEB-INF / lib中,因为它没有“org.apache.thrift.protocol.TProtocol.getScheme()”方法,所以我不会遇到这样的方法错误。我引用了here和here并将libthrift jar移到了WEB-INF / classes,但是它有助于:
Jar版本:libthrift-0.9.3和hive-0.4.1
答案 0 :(得分:1)
如果只有你的Hive版本更新,你可以......
但是,唉,你不能使用最近你的服务器的驱动程序 - 这里是V0.13,即没有"独立的最后一个版本"司机JAR。
因此,您需要收集大量Hive JAR,以及一些Hadoop JAR和各种依赖项,例如libfb303-*.jar
和libthrift-*.jar
$ unzip -l libthrift-0.9.2.jar | grep的 org.apache.thrift.protocol.TProtocol.class
2958 11-05-2014 03:47 org / apache / thrift / protocol / TProtocol.class