1. 程式人生 > >kettle

kettle

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