記一次使用kettle數據遷移

對於咱們這個系統。有三個方案。一是使用廠商的api執行。二是本身寫代碼跑。三是使用KETTLE移植。java

這個說不上哪一個好,哪一個很差。我都作了嘗試。mysql

  • 方案一實現簡單,就是按照api文檔,簡單說下對方提供的的方案,大體意思就是使用JDBC鏈接舊的數據庫,而後再新的系統下執行。就是一個查詢,一個保存。可是他封裝了保存和生成方法。這也算是他的核心。這個報錯了只能找廠商協調。過程可想而知的不爽。根本聽不懂所云。
  • 方案二我是是用多數據源切換,也是一個查詢導出,保存導入的過程。這個也是作了一天,查了不少自戀。這裏面有幾個難點一個是個多數據源切換,而且配置多個分頁插件(使用的是MyBatis)。另外就是使用多線程執行而且有個字段映射這裏使用的是EasyMapper這個很贊請有必要看看他的源碼。這個我把多數據源配置放到碼雲。https://gitee.com/lien6o/oracle2mysql
  • 方案三是很中意的方案,簡單,除去了本身映射字段。並且效率高。(這裏數據量不大,150張表。單表不超過4w條數據)

KETTLE第一次使用。因此記錄下:git

1、下載安裝:sql

仍是去百度雲找個資源吧,其餘的實在慢的不行不行的。能夠留言我。數據庫

2、jdk環境api

都是搞java的不贅述了。多線程

3、使用oracle

一、文件新建 轉換app

 

二、DB鏈接測試

鏈接須要注意驅動,我在使用過程當中Oracle的驅動自帶。MySql須要下載。

通過測試: 把mysql的驅動放到\pdi-ce-5.2.0.0-209\data-integration\lib下或\pdi-ce-5.2.0.0-209\data-integration\libswt\win64

 

重啓以後便可解決這個問題。

 

三、繪製流程

在覈心對象分別搜索表輸入,字段選擇,表輸出。

創建下圖。這裏須要使用 shift 建立連線。

雙擊 表輸入 選擇編輯 選擇數據庫鏈接 這裏的SQL能夠自定義。

雙擊表輸出 設置表輸出信息

勾選指定數據庫字段 獲取字段 輸入字段映射 會高亮 進行選擇

雙擊 字段選擇

點擊 列映射 能夠進行配置。底下的猜一猜頗有意思。

開始 轉換檢查結果 注意這個標誌 眼鏡標誌右面第三個。

勾選 顯示成功結果

而後就能夠開始了

備註:當碰見二進制數據移植時注意

選爲是;由於:二進制加載類型是在加載時建立的,打開了懶惰的轉換。 

總結:kettle的功能強大。還有其餘不少功能。數據移植只是其中的一個使用。

相關文章
相關標籤/搜索