kettle使用教程
ETL(Extract-Transform-Load的縮寫,即數據刪除,轉換,裝載的過程),對於企業或行業應用來說,我們經常會遇到各種數據的處理,轉換,遷移,所以了解並掌握一種水壺是純Java編寫,支持圖形化的GUI設計界面,然后可以以工作流的形式流轉,在做一些簡單或復雜的數據抽取,質量檢測,數據清洗,數據轉換,數據過濾等方面具有比較穩定的表現,其中最主要的我們通過熟練的應用它,減少了非常多的研發工作量,提高了我們的工作效率。
1. kettle概念
Kettle是一個國外開源的ETL工具,純java編寫,可以在Window,Linux,Unix上運行,綠色無需安裝,數據移除高效穩定。
Kettle中文名稱叫水壺,該項目的主程序員MATT希望把各種數據放到一個壺里,然后以一種指定的格式替換。
Kettle這個ETL工具集,它允許您管理來自不同數據庫的數據,通過提供一個圖形化的用戶環境來描述你想做什么,而不是你想怎么做。
Kettle中有兩種腳本文件,轉換和作業,轉換完成針對數據的基礎轉換,job則完成整個工作流的控制。
2. 下載安裝
2.1 下載: 下載地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
2.2 安裝: kettleKettle是純JAVA編程的開源軟件,需要安裝jdk及本地環境變量配置。
kettle無需安裝,直接解壓zip文件到指定的文件夾。在Lunix操作系統上,需要執行以下腳本:
cd Kettle
chmod +x *.sh
2.3需准備的其他東西:
數據庫驅動,如筆者連接的是mysql則需將mysql的驅動放在kettle根目錄的bin下面,然后到服務中啟動mysql,重啟kettle。
3. 教程步驟
3.1 kettle中的一個圖形用戶界面叫spoon,spoon可以設計和運行轉換和作業。在windows中執行spoon.bat,在Lunix系統中執行spoon.sh;運行spoon.bat,打開spoon圖形工具
打開后界面
3.2 建立轉換 文件>新建轉換
新建轉換后在左邊的主對象樹中建立DB連接用以連接數據庫。如圖所示:

把相對應的值都填好-點擊測試:
如果出現下面的情況,那是因為你沒有對應的數據庫鏈接驅動,請下載對應驅動后,放入kettle的lib文件夾。:
3.3 數據表插入\更新
(1)新建表插入
在左邊的面板中選擇“核心對象”,在核心對象里面選擇“輸入->表輸入”,用鼠標拖動到右邊面板。如圖所示:

雙擊拖過來的表,可以編輯表輸入。選擇數據庫連接和編輯sql語句,在這一步可以點擊預覽,查看自己是否連接正確。

(2)通過插入\更新輸出到表。在左邊面板中選擇核心對象、選擇“輸出->插入\更新”如圖所示:

編輯插入更新:
首先:表輸入連接插入更新。
選中表輸入,按住shift鍵,拖向插入更新。

然后:雙擊插入更新,編輯它。

到這里基本上,這個轉換就要做完了,可以點擊運行查看效果,看是否有誤,這個要先保存了才能運行,可以隨意保存到任何一個地方。
(3)建立作業
使用作業可以定時或周期性的執行轉換,新建一個作業。並從左邊面板拖入start 和轉換。

雙擊start可以編輯,可以設置執行時間等等

點開裝換,可以設置需要執行的轉換任務,比如可以執行上面我們做的轉換,XXX.ktr

最后點擊運行即可。到這里,一個簡單的通過作業調度的kettle就算做完了。