目錄
Kettle學習筆記(一)— 環境部署及運行
Kettle學習筆記(二)— 基本操作
kettle學習筆記(三)— 定時任務的腳本執行
Kettle學習筆記(四)— 總結
打開Kettle
打開時間略長,請耐心等待。
常用的控件說明
這里先對控件做下簡單說明,方便后面使用。
通用控件
-
通用——START:作業開始;
-
通用——作業:指定某個作業循環執行;
-
通用——轉換:指定某個轉換,加入到作業中來;
-
通用——設置變量:設置變量,為了轉換或者作業中獲取變量;
-
通用——成功:作業完成操作;
-
通用——DUMMY:空操作,什么也不執行;
-
郵件——發送郵件:給指定郵箱發送郵件,發件人的賬號需要開通第三方發送郵件的功能;
-
文件管理——復制/移動結果文件:復制/移動文件;
-
文件管理——創建一個目錄:創建指定的目錄;
-
文件管理——刪除一個文件:刪除指定的一個文件;
-
文件管理——復制文件:復制指定的文件;
-
文件管理——刪除目錄:刪除指定的目錄;
-
文件管理——刪除多個文件:通過正則表達式批量刪除文件;
-
條件——檢查數據庫連接:檢查數據庫是否能夠連接通;
-
條件——檢查表是否存在:檢查指定的表是否存在;
-
文件傳輸——SFTP下載:可以通過SSH進行遠程下載文件;
-
文件傳輸——SFTP上傳:可以通過SSH進行遠程上傳文件;
-
文件傳輸——FTP刪除:可以遠程刪除指定的文件;
轉換中常用控件:
-
輸入——Excel輸入:從excel文件中讀取數據;
-
輸入——文本文件輸入:從文本文件中讀取數據;
-
輸入——生成隨機數:用來生成指定類型的隨機數;
-
輸入——自定義數據常量:將值不變的變量存入到此處,方便管理;
-
輸入——獲取系統信息:可以獲取系統信息(日期、命令行參數);
-
輸入——表輸入:從數據庫表中讀取數據;
-
輸出——Excle輸出:注意.xls格式輸出行數有限制,一般輸出.xlsx最好;
-
輸出——插入/更新:根據指定的匹配字段,可以檢測是插入新數據,還是修改舊數據;
-
輸出——文本文件輸出:將結果數據輸出到文本文件中去;
-
輸出——表輸出:將結果數據輸出到某個數據庫的某個表中;
-
轉換——增加常量:在原數據中將常量值增加新一列;
-
轉換——排序記錄:對原數據按照某個字段進行排序;
-
轉換——剪切字符串:對字符串進行截圖;
-
轉換——去重復記錄:對於某個字段有重復的記錄進行過濾;
-
轉換——字段選擇:篩選流中的字段,慎用,過濾后后面的控件將無法獲取流中篩除的字段了;
-
流程——空操作:將不需要的數據放到此處,類似垃圾箱;
-
流程——過濾記錄:按照條件進行過濾,類似if-else;
-
流程——Switch/Case:與java中switch/case一樣;
-
腳本——java代碼:執行java代碼;
-
腳本——javascript代碼:執行javascript代碼;
-
腳本——執行SQL腳本:執行sql;
-
連接——記錄集連接:類似於sql的left join/right join/inner join,但是使用前的數據必須要經過排序;
-
作業——從結果獲取記錄:從作業中獲取數據;
-
作業——復制記錄到結果:將轉換中的結果數據放到作業中去;
-
作業——獲取變量:從作業中獲取變量;
-
作業——設置變量:設置變量,從而讓作業中能夠獲取變量;
建立轉換
文件—新建—轉換。
新建轉換后點擊左邊的主對象樹,然后選擇DB連接,建立用以連接數據庫。如圖所示:
建立數據庫連接的過程相當於在數據庫管理工具連接數據庫。
輸入所需同步的兩個數據庫,點擊測試查看連接是否正常
注意:在數據庫鏈接的過程中,可能會報某個數據庫連接找不到的異常。那是因為你沒有對應的數據庫鏈接驅動,請下載對應驅動后,放入kettle的lib文件夾。
簡單的數據同步/更新
新建表插入
在左邊的菜單選擇“核心對象”,在核心對象里面選擇“輸入—表輸入”,用鼠標拖放到右邊面板。
雙擊拖進來的表,可對表進行編輯。
新建插入\更新
在左邊面板中選擇核心對象、選擇“輸出->插入\更新”如圖所示:
雙擊插入更新,編輯它選中表輸入,按住shift鍵,拖向插入更新。
選中表輸入,按住shift鍵,拖向插入更新。
雙擊插入更新,更改設置。
查詢字段:用來對比的關鍵字段,kettle會根據它來判斷是插入還是更新,一般用id
運行裝換
點擊運行按鈕,測試裝換是否成功。
啟動完成。
使用作業控制轉換
作業可以定時或周期性的執行轉換,新建作業。並從左邊面板拖入start 和轉換。
雙擊start可以編輯,可以設置執行時間等等
點開裝換,可以設置需要執行的轉換任務,打開我們保存的轉換。
將成功拖到右側面板,並連接。
這樣一個簡單的通過作業調度的kettle就算做完了。