kettle
kettle是一款E(Extract)T(Transform)L(Load)工具.(即數據抽取,轉換,裝載的過程)。
kettle有兩種方式來整合工作:xml文件形式和資源庫(資源庫移植性不好,數據表的可讀性比xml好)
kettle有兩種腳本文件:transformation和job
kettle有三大組件:Spoon Kitchen Pan
Spoon:一個圖形化界面,windows下直接運行Spoon.bat
Kitchen:命令行調job bash /home/kettle/data-integration/kitchen.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /job jobname
Pan:命令行調trans bash /home/kettle/data-integration/pan.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /trans transname
簡單案例:
1.新建一個trans.ktr,保存到F:\kettleworkspace下
2.在trans下新建兩個DB連接myconn,myconn2.(mysql)
數據庫結構:數據庫TestA、TestB。TestA下有一張usera表,TestB下有一張userb表。將usera表的數據裝載到userb。
usera:
userb:
3.新建步驟
將核心對象中的表輸入拖到trans中。
雙擊表輸入圖標,寫一個最簡單的sql:select * from usera
將表輸出下的插入/更新拖到trans中,按住shift,然後點擊表輸入,按住鼠標左鍵,移動鼠標到插入/更新。
雙擊插入更新。選擇數據連接myconn2,目標表為userb,關鍵字填寫id=id,點擊獲取和更新字段,確定。
4.直接點擊運行,刷新userb,會發現數據已同步。
ps:若中文亂碼,可以分別雙擊兩個數據連接 選擇選項 增加一組參數:characterEncoding:gbk
kettle