主页 > 电脑硬件  > 

spark写数据库用连接池找不到driver类

spark写数据库用连接池找不到driver类

最近遇到一个很离谱的bug,在写spark代码把数据写到mysql的时候考虑到连接的开销,所以用了HikariCP连接池,但是无语的是程序执行死活加载不到mysql的Driver类,但是解压了jar看到mysql-conn包就在lib下面,版本也是5.x的没问题,还尝试了--jars,也没解决,倒腾了各种方式,网上也查到确实有人复现这个问题—》百度EMR spark

最终灵光一闪,想到写原生Java的jdbc需要手动class-load一下,所以就在想也给连接池手动load一下是否可行,最终测试发现会类冲突。到此想到难道连接池和spark调用jdbc的类加载逻辑不一样?就想到一个妖点子,把mysql-driver包放在了spark的jars资源路径里面,当作引擎的class资源,果然运行之后问题就解决了。

标签:

spark写数据库用连接池找不到driver类由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“spark写数据库用连接池找不到driver类