1、背景

工作中遇到顺便记录一下,在数据量很大的情况下使用jdbc连接到数据库当实际读取时间超过设置的读取时间时会导致读超时。当时客户环境数据为几亿条数据,使用jdbc连接到对应数据库(会将对应的数据全部提交到spark中计算,导致时间过长)监听对应表的数据质量,此时读取的时间超过设定值抛出如下错误
在这里插入图片描述

2、使用场景

为了解决上述问题,准备将连接时间设置延长,当读取源码时发现jdbc设置的连接是全局时间,导致其它地方的驱动连接时间会加载到当前驱动的连接时间(吐槽JDBC超时时间为全局操作)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为是使用hive连接驱动
在这里插入图片描述
进入HiveConnection会发现调用的是全局时间
在这里插入图片描述
在这里插入图片描述
这样会导致我在其它地方的计算也会变成当前设置的连接时间

3、解决办法

目前解决的办法就是延长总体连接时间(引一发动全身)

注:望读到的大佬有好的解决办法可以讨论一下(不能改变JDBC连接的前提)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐