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资源,果然运行之后问题就解决了。

相关推荐
GBASE19 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
大大大大晴天2 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
手可摘星辰7772 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天2 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库