簡體   English   中英

nzSQLException讀取超時錯誤

[英]Read timed out error by nzSQLException

在Netezza數據庫中使用Java代碼時,出現org.netezza.error.NzSQLException: Read timed out錯誤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文件。

關於如何避免出現此錯誤的任何想法/或任何更好的方法。

如果它適用於其他文件,但不適用於較大的文件,我可以考慮以下幾種可能性:

  1. 您的接收netezza盒不能足夠快地接收數據(盡管我可以說少於100MB並不多)
    • 您的目標NZ系統是VMware和/還是網絡/防火牆慢?
  2. 無法快速訪問源文件
    • McAfee或其他防病毒掃描程序阻止了他的文件
    • 該文件在sloooow /重載磁盤上
    • 程序中的另一個線程阻塞文件的時間過長(將負載啟動到netezza太早了)
  3. 超時設置得很低
    • 說一秒鍾

我會嘗試將超時時間增加到1000秒,以查看問題是否消失,然后向下工作直到找到極限。 其次,我將嘗試關閉創建文件的JAVA代碼中的所有並行性,然后查看它是否消失了

請讓我們知道如何

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM