Client

Vertica 6.1:vsql 因結果集大而崩潰

  • October 12, 2015

我正在編寫一個腳本來從我們的 Vertica 集群中導出數據。我正在使用的命令是:

vsql MY_DB_NAME -At -F$'\t' -o /data/vertica_archive/MY_DATA_2015_07_01.tsv  -c "select * from DATA_TABLE where ts_date ='2015-07-01';"

偶爾會導致:

server closed the connection unexpectedly
       This probably means the server terminated abnormally
       before or while processing the request.
connection to server was lost

我們所有的查詢都是簡單的“select * from TABLE where ts_date=DATE”,但是一些查詢結果集會生成一個 10GB 的文件。

範例行數:

MY_DB=> select count(*) from DATA_TABLE where ts_date ='2015-07-01';
 count
----------
18213295
(1 row)

是否有任何退出程式碼文件,或者任何人都可以建議如何調試?

在不了解您的環境的情況下,您可以嘗試幾件事。第一個是添加額外的過濾器以使輸出文件更小。另一種是使用管道查看器來監控進度。

如果您使用的是企業版,則應將問題報告給支持人員。

查看用於此查詢的資源池的 RUNTIMECAP 或 QUEUETIMEOUT。我確實希望您在伺服器上本地執行此操作,然後將它們從您的伺服器中複製出來。在移動它之前嘗試拉上拉鍊。 參見範例:

vsql -U dbadmin -w dbadmin -F $'|' -At -c "SELECT * FROM table" | gzip -c > '/vertica/backup_table_one.gz'

您還將節省頻寬和時間。

引用自:https://dba.stackexchange.com/questions/117677