kettle學習筆記(五)——kettle輸出步驟
一、概述
資料庫表:
• 表輸出
• 更新,刪除,插入/更新
• 批量載入(mysql,oracle)
• 資料同步
檔案:
• SQL 檔案輸出
• 文字檔案輸出
• XML 輸出
• Excel Output/Excel Writer
其他(報表、應用)
二、資料庫輸出
1.表輸出
使用SQL的方式向資料庫插入資料(INSERT)
支援批量提交
支援分割槽(Date分割槽)
支援欄位對映
支援返回自增列
這裡提示一下出現表輸出的中文亂碼問題的解決方案:
設定連線編碼:characterEncoding utf8
設定連線編碼一般就可以正常輸出不亂嗎的字元了。如果還有問題,可以繼續設定客戶端編碼
設定客戶端:set names utf8;
一個測試的表輸出如下:
如果選擇分割槽,需要選擇Date欄位進行分割槽,並且需要手動建立表(例如按月分割槽,有201804 201805兩個月,則需要建立tb_201804 tb_201805兩個表)
2.返回自增主鍵
表輸出的配置如下:
預覽即可檢視返回的主鍵:
3.資料庫欄位對映
前面步驟可以後後面表輸出進行欄位對映匹配:
表輸出配置如下:
欄位對映:
使用猜一猜可以進行名稱匹配,如果需要手動匹配,可以左右分別選擇,點選Add即可!
並且對映完成之後也可以刪除丟棄某些欄位
4.其它操作——刪除、更新、插入更新
刪除:
根據關鍵字匹配,刪除資料庫中已有的資料。
更新:
根據關鍵字匹配,更新資料庫中已有的資料。
插入更新:
有則更新,無則插入。
操作都是類似,上面進行匹配,下面進行處理:
5.資料同步
基於比較的同步方式。根據一個flag欄位執行相應的插入/更新/刪除操作。
配置圖如下:使用合併後的flag欄位(可能有new deleteed等flag),後續再根據此flag,同步變化的資料到表1
6.批量載入
使用流方式載入資料
MySQL批量載入需要在Linux環境執行(有命令只能在Linux下執行)
Oracle需要本地有oracle客戶端(sqlldr檔案,在Oracle安裝目錄下查詢)
三、檔案輸出
1.SQL檔案輸出
根據選中的資料庫型別,生成相應的 SQL 指令碼(DDL,DML)。
2.excel檔案輸出
注意2007以前的版本有65536的行數限制:
3.文字檔案輸出
比如txt json等,暫不贅述
四、其它輸出
1.報表輸出
生成報表(pdf,excel,html等格式),需要事先定義好報表模板。
2.XML輸出
同樣,暫不贅述