kettle實現整庫遷移_mysql 數據庫


搬來的東西,太實用了

kettle實現整庫遷移

 

 

1 背景

  • 庫與庫之間做數據同步
  • 結構不變
  • 原始是數據庫和目標數據庫都是MySQL

2 思路

鑒於是整個庫進行數據同步,表結構和表名都不需要變化。因此,在轉換過程中並不需要做太多的清洗工作,主要是在目標數據庫建表和導入操作。需要注意點:

  • 1,對於原始庫中新的數據表需要在目標庫中新建
  • 2,數據需要進行全量更新
    整體的工作流如下:
    在這里插入圖片描述
    • 獲取表名轉換處同時獲取原始數據庫中的表名和建表語句,備用
    • 循環建表和同步工作處是對所有表的循環處理

2.1 獲取表名

在這里插入圖片描述

  • 必須使用復制記錄到結果控件來保存記錄
  • 獲取表名處注意勾選sql語句字段
  • 該轉換得到了數據庫里面所有表的名字和所有建表語句,備用,后面賦值到相關變量中供其他控件使用

2.2 循環建表和同步

2.2.1 如何設置循環

在這里插入圖片描述

  • 雙擊循環建表和同步job,勾選執行沒有一個輸入。

2.2.2 建表和同步

在這里插入圖片描述

  • 這是一個完整的job,在整個job流中的循環建表和同步循環的就是這個job
  • 這個job主要是獲取變量-建表-同步數據
2.2.1 獲取變量

在這里插入圖片描述

  • 從以前的結果獲取記錄,獲取的就是2.1步記錄中的結果
  • 設置環境變量時,直接選擇獲取字段就行,不用手動輸入,變量活動類型默任
2.2.2 建表

在這里插入圖片描述

  • 注意勾選變量替換
  • 用${SQL_RESULT}來引用上一步設置的變量
2.2.3 單個表同步

在這里插入圖片描述

  • 表輸入時sql語句中的表名用變量代替
  • 表輸出時注意勾選剪裁表和批量導入

3 數據庫連接共享

因為在這整個的工作中,包含了4個ktr和兩個job,數據庫連接在多個地方出現,因此將數據庫連接設置成共享的,避免重復設置數據庫連接
在這里插入圖片描述
這是已經共享完成的,在數據庫連接上右鍵鼠標,在彈出框中就可以看見共享/停止共享的按鈕


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM