Kettle數據庫遷移實戰(一)

數據庫遷移不是一件簡單的事情,特別是需要從Oracle遷移到MySQL或者sqlserver遷移到MySQL等等,而數據處理中還會遇到很多問題,譬如表結構不一樣,字段需要特殊處理等,而Kettle使用起來則非常方便,不需要連接太多的SQL知識,本文就介紹一下我在工作中遇到的使用場景,我使用的kettle版本是9.0+

相關文章

  1. Kettle數據庫遷移實戰(二)–批量導入
  2. Kettle數據庫遷移實戰(三)–表輸入使用上一個步驟的變量作爲參數
  3. Kettle數據庫遷移實戰(四)–使用SQL腳本
  4. Kettle實戰(五)–使用java代碼腳本
  5. Kettle應用場景(多表級聯)
  6. sqlserver驅動jar下載
  7. 官方文檔一
  8. 官方文檔二
  9. 官方文檔三

  1. 先介紹一篇其它優秀博文—kettle數據遷移從oracle到mysql,作者對於軟件的下載,數據庫連接和基本使用,介紹的都比價詳細。另外說明一點,獲取字段映射關係,首先需要建立兩個數據庫的關係,也就是先要把步驟連起來

  2. 我在工作中的使用

  3. 新表當中有個別字段是常量,而就數據庫沒有這個字段

    • 首先新建轉換,在主對象樹建立數據庫連接

    • 在覈心對象->輸入選擇‘表輸入’,輸出選擇’插入/更新’,轉換選擇增加常量。其中輸入根據需要寫Sql

    • 依次連接3個步驟,並配置3個步驟

    • 檢驗轉換有沒有錯誤,沒有錯誤則執行轉換

    • 校驗沒有錯誤但是在執行轉換報錯也是很正常的,這時候大都是因爲sql有錯誤:比如非空字段沒有插入值,字段長度不夠等,而日誌臺對這些錯誤信息顯示的頁比較清晰,遇到錯誤不要害怕,靜下心來分析錯誤,你會發現很簡單

  4. 新表當中某個字段需要是幾個字段(或者常量)的拼接後的結果,下面只給出關鍵步驟

  5. 當新表中有字段需要隨機值-可選擇輸入步驟->生成隨機數,可選擇生成隨機數的類型,豎直,字符串,UUID等


案例2:根據正則截取數據庫中的字段值的一部分內容,並複製給新的字段

  1. 我的業務需求是:從舊數據庫的的內容裏(是富文本內容)提取第一張圖片的路徑然後保存到新數據的對應字段值

  2. 因爲要使用java的類,而kettle並沒有提供這些類的使用,所以需要自定義java類(在自己的編輯器編寫java類),然後導出jar包

  3. 把jar包放在kettle的lib文件夾內,然後重啓kettle(有可能不需要重啓)

  4. 利用核心對象->腳本->java代碼調用自定義的java類

  5. 把返回值存入新的變量中

其它優秀資源

  1. kettle學習筆記(二)——kettle基本使用
  2. Kettle入門之一 介紹、安裝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章