數據遷移之Kettle的使用小結
場景
有五個數據庫,其中兩個SQL Server還有三個是Oracle10G。
目標
將兩個SQL Server中的業務數據分別依照特定的邏輯遷移到三個Oracle數據庫中。
Kettle的使用(基礎)
Kettle的安裝和配置
- 關於Kettle的安裝可以直接到官網上去下載。
- 對於Kettle的配置需要有一個數據庫,Kettle的數據庫負責存儲Kettle自身需要的元數據描述、任務、轉換等,Kettle默認的登陸信息是admin/admin。
- 創建Oracle數據庫連接直接依照提示輸入即可,下圖例出了SQL Server的連接。
SQL Server的連接注意區分Database Name和Instance Name。
|
Kettle的基礎概念
- 作業,負責將[轉換]組織在一起進而完成某一塊工作,通常我們需要把一個大的任務分解成幾個邏輯上隔離的作業,當這幾個作業都完成了,也就說明這項任務完成了。
- 轉換,定義對數據操作的容器,數據操作就是數據從輸入到輸出的一個過程,可以理解為比作業粒度更小一級的容器,我們將任務分解成作業,然后需要將作業分解成一個或多個轉換,每個轉換只完成一部分工作。
Kettle使用基礎示例
- Kettle的錯誤處理,有很多場景需要用到錯誤日志記錄,如遷移過程中提示數據自身的問題、主/外鍵錯誤、違反約束等都要將當前場景記錄到一個地方供后續特殊處理。
示例
主要流程
錯誤信息配置
- 數據量很大的情況可以加上過濾參數處理
- 值的映射
- 連接
這塊要注意到連接所用到的原始數據一定是排過序的
參考資料