...
这是个技术障碍点,hive驱动包下有包含javax.servlet包,与Tomcat自带的servlet-api.jar冲突, Tomcat启动时会进行冲突校验,一旦发现上述冲突就会报出上面的异常:
参考文档“如何向war或ext包中添加或删除文件”,使用压缩工具打开jar包,然后把里头的javax目录删掉即可。
4、替换Smartbi中的hive驱动包
...
然后将新的JDBC驱动文件拷贝到以上目录。
5、启动Smartbi创建连接
重启启动服务器后,登录Smartbi,切换到“管理 -> 系统管理”界面,“新建关系数据源”,然后再编写查询。重启启动服务器后,登录Smartbi,切换到 "定制管理》数据管理》数据源”界面,“新建关系数据源”,然后再编写查询。
在系统选项中需要配置"是否获取总行数:否",否则会报获取总行数错误。
结束。
锚 | ||||
---|---|---|---|---|
|
...
注1:
1.1 问题情况:当连接数据源测试通过时,进行数据库管理添加表却报空指针错误。
1.2 解决方案:请参考 使用Maven Hive JDBC驱动程序解决问题,数据源连接的时候校验语句为空,如下图所示:
注2:
2.1 问题情况:在产品中已经添加好了如下三个JAR包,但是在测试过程中出现如下截图,红框标记的错误。
Hadoop-common-x.jar
Hive-jdbc-x-standalone.jar
Slf4j-log4j12-x.jar
2.2 问题原因:由于hive-jdbc-1.3.0-standalone.jar其中有引用到其他的类<TaskAttemptContext>,但是并没有在JAR包中找到此类;
2.3 解决方案:可以考虑通过添加包含此类的JAR包<hadoop-mapreduce-client-core-0.23.1.jar>。
如何添加jar包请参考:手动增加数据库驱动程序