我有一個正在運行的遠程 MonetDB 服務器,我想批量上傳一個 csv 檔案,因為它要快得多。
基于 MonetDB.R 中的引數,有一個 csvdump=TRUE 選項,但我認為當您嘗試對遠程服務器執行此操作時它不起作用。服務器必須是本地的。
https://rdrr.io/github/MonetDB/monetdb-r/man/dbWriteTable.html
首先,我是否正確,我不能這樣做,如果不是,是否有解決方法?我有一個包含 5M 行的資料框,因此使用插入陳述句而不是使用 COPY INTO 需要很長時間。
當我嘗試對遠程服務器使用 csvdump=TRUE 時,它找不到 csv 檔案,因為它在呼叫 dbWriteTable 命令的計算機本地。
uj5u.com熱心網友回復:
我想你是對的。解決方法是使用顯式COPY INTO ON CLIENT
SQL 陳述句或先使用某些檔案傳輸工具在呼叫之前將檔案復制到遠程服務器dbWriteTable
。
它從 MonetDB 關于COPY INTO的檔案中讀取:
來自服務器上的檔案
對于默認的 ON SERVER,檔案名必須是運行資料庫服務器 (mserver5) 的系統上的絕對路徑。...
有趣的是,MonetDB 的 Python 驅動程式 pymonetdb 使用 ON CLIENT 進行批量加載。來自pymonetdb 的檔案:
檔案上傳和下載
與 COPY INTO ON CLIENT 使用的檔案傳輸請求相關的類。
您可能想要為 MonetDB R-driver 專案提交一個問題,使其具有與 pymonetdb 類似的行為。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/535410.html
標籤:r货币数据库