springboot集成hive2的问题

method not support的问题,比较蛋疼。

由于springboot2.0以后引入了新的连接池,变成了hikaricp,网上查了一下这个连接池号称是java性能最好的连接池。

但是和hive-jdbc的集成不是很好,如果你的hive版本在2.0以上,不会出现这个问题,但是现在大部分的hive版本都是2.0以下的。

解决的办法。

1.小项目不使用连接池,直接

@Bean(name = "hiveJdbcTemplate")
JdbcTemplate getHiveJdbcTemplate(){
    DataSource hiveDataSource = new SimpleDriverDataSource(new HiveDriver(), hiveUrl,hiveUser , hivePassword);
    return new JdbcTemplate(hiveDataSource);
}
 
 

2.替换hikaricp连接池,继续使用tomcat-jdbc

实际做法只需要把hikaricp的jar包不引入,然后单独引入tomcat-jdbc的jar包即可。


#选择数据库连接池
spring.datasource.hadoop.type=org.apache.tomcat.jdbc.pool.DataSource
#数据库连接地址,端口号,连接名,设置编码格式
spring.datasource.hadoop.url = jdbc:hive2://*/security
#这是hikaricp的格式
#spring.datasource.hadoop.jdbc-url = jdbc:hive2://*/security
#用户名
spring.datasource.hadoop.username = deployop
#密码
spring.datasource.hadoop.password = Paic1234
#数据库驱动
spring.datasource.hadoop.driver-class-name = org.apache.hive.jdbc.HiveDriver

配置文件不要忘了把spring.datasource.hadoop.jdbc-url改成spring.datasource.hadoop.url


我的springboot版本为2.0.2.RELEASE,hive-jdbc版本为1.1.0,tomcat-jdbc的版本为8.5.23

希望能对大家有所帮助


猜你喜欢

转载自blog.csdn.net/m0_37611100/article/details/80678864