本文主要介紹文本文件、csv、execl和PostgreSQL的批量數據加載。
一、文件文件到PostgreSQL的批量數據加載
COPY在 PostgreSQL表和標準文件系統文件之間 移動數據。COPY TO把一個表的內容複製 到一個文件,而COPY FROM 則從一個文件複製數據到一個表(把數據追加到表中原有數 據)。COPY TO也能複製一個 SELECT查詢的結果。windows環境下須要從官方下載安裝包進行安裝,不然在kettle中會提示找不到psql命令路徑錯誤,從而致使加載失敗。
新建「轉換」,選擇輸入組件中的「文本文件輸入」和批量加載的「PostgreSQL批量加載」,以下圖所示:
文本文件輸入配置以下:
PostgreSQL批量加載配置:
注意:客戶端路徑指的是PostgreSQL的psql命令的路徑。
二、CSV文件到PostgreSQL的批量數據加載
新建「轉換」,選擇「CSV文件輸入」以及「PostgreSQL批量加載」組件,總覽以下圖所示:
CSV文件輸入組件:
PostgreSQL批量加載組件:
注意:若是CSV文件裏有number字段,則在組件裏選擇integer類型,不然它會出現帶「.0」的值,這樣插入過程會報錯。可是執行轉換還會成功,由於數據沒寫入表中,而是寫入PostgreSQL的日誌文件裏了。這個日誌文件位於postgres用戶家目錄的data/log文件夾下面。以下圖所示:
三、Excel文件到PostgreSQL的批量數據加載
新建轉換,選擇「execl文件輸入」和「PostgreSQL批量數據加載」組件,總覽以下圖所示:
Excel輸入組件配置:
注意:對於源字段爲number類型的,必須在這改爲integer類型。
PostgreSQL批量加載組件配置:
執行結果以下圖:
sql