JDBC连接数据库读超时
当时客户环境数据为几亿条数据,使用jdbc连接到对应数据库(会将对应的数据全部提交到spark中计算,导致时间过长)监听对应表的数据质量,此时读取的时间超过设定值抛出连接超时或读超时
·
1、背景
工作中遇到顺便记录一下,在数据量很大的情况下使用jdbc连接到数据库当实际读取时间超过设置的读取时间时会导致读超时。当时客户环境数据为几亿条数据,使用jdbc连接到对应数据库(会将对应的数据全部提交到spark中计算,导致时间过长)监听对应表的数据质量,此时读取的时间超过设定值抛出如下错误
2、使用场景
为了解决上述问题,准备将连接时间设置延长,当读取源码时发现jdbc设置的连接是全局时间,导致其它地方的驱动连接时间会加载到当前驱动的连接时间(吐槽JDBC超时时间为全局操作)
因为是使用hive连接驱动
进入HiveConnection会发现调用的是全局时间
这样会导致我在其它地方的计算也会变成当前设置的连接时间
3、解决办法
目前解决的办法就是延长总体连接时间(引一发动全身)
注:望读到的大佬有好的解决办法可以讨论一下(不能改变JDBC连接的前提)
更多推荐
已为社区贡献1条内容
所有评论(0)