在使用Netezza数据库的java代码时,
得到org.netezza.error.NzSQLException: Read timed out
的错误
基本上,java代码生成一堆csv文件,
生成每个CSV文件后,CSV将加载到netezza数据库中。
我使用下面的查询(Java代码剪辑)进行CSV上传
INSERT INTO "+table + " SELECT * FROM EXTERNAL '"
+ CSVFileName
+ "' USING ( MAXERRORS 0 DELIMITER ',' Y2BASE 2000 ENCODING 'internal' REMOTESOURCE 'JDBC' ESCAPECHAR '\' ) ";
适用于大多数文件,&然后突然我开始收到read timed out
错误
我的csv文件包含375000到750000行(文件大小约为28到56 MB)。
Java代码使用8个线程来创建这些CSV,有可能对于同一个表,两个线程正在尝试加载数据。 Java代码将从Windows机器运行
我的初步猜测是JDBC驱动程序可能有一些时间限制来读取CSV文件。
关于如何避免出现此错误/或任何更好的方法的任何想法。
答案 0 :(得分:0)
如果它适用于其他文件,但不适用于较大的文件,我可以考虑一些可能性:
我会尝试将超时时间增加到1000秒,以查看问题是否消失,然后向下工作直到找到限制。 其次,我会尝试关闭JAVA代码中的所有并行性来创建文件并查看它是否消失
请让我们知道它是怎么回事