Kettle使用介紹

參考文檔:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html
ETL(Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程),對於企業或行業應用來說,我們經常會遇到各種數據的處理,轉換,遷移,在使用中我感覺這個工具真的很強大,支持圖形化的GUI設計界面,然後可以以工作流的形式流轉,在做一些簡單或複雜的數據抽取、質量檢測、數據清洗、數據轉換、數據過濾等方面有着比較穩定的表現,其中最主要的我們通過熟練的應用它,減少了非常多的研發工作量,提高了我們的工作效率。
1、Kettle概念
Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,綠色無需安裝,數據抽取高效穩定。
Kettle 中文名稱叫水壺,該項目的主程序員MATT 希望把各種數據放到一個壺裏,然後以一種指定的格式流出。
Kettle這個ETL工具集,它允許你管理來自不同數據庫的數據,通過提供一個圖形化的用戶環境來描述你想做什麼,而不是你想怎麼做。
Kettle中有兩種腳本文件,transformation(*.ktr),就是任務,transformation完成針對數據的基礎轉換。另一種是job(*.kjb),就是用來調用transformation的,job是完成整個工作流的控制。
如下面的圖分別是transformation腳本和job腳本。

2、下載和部署
Kettle可以在http://kettle.pentaho.org/網站下載
下載kettle壓縮包,因kettle爲綠色軟件,解壓縮到任意本地路徑即可
3、Kettle環境配置(有Java環境的直接忽略此章節)
4.Kettle使用及組件介紹
4.1 Kettle使用
Kettle提供了資源庫方式的方式來整合所有的工作,但是因爲資源庫移植不方便,所以我們選擇沒有資源庫;
1)創建一個新的transformation,點擊 保存到本地路徑,例如保存到D:/etltest下,保存文件名爲EtltestTrans,kettle默認transformation文件保存後後綴名爲ktr;
2)創建一個新的job,點擊 保存到本地路徑,例如保存到D:/etltest下,保存文件名爲EtltestJob,kettle默認job文件保存後後綴名爲kjb;
4.2 組件樹介紹

Main Tree菜單列出的是一個transformation中基本的屬性,可以通過各個節點來查看。

DB連接:顯示當前transformation中的數據庫連接,每一個transformation的數據庫連接都需要單獨配置。

Steps:一個transformation中應用到的環節列表

Hops:一個transformation中應用到的節點連接列表                            

Core Objects菜單列出的是transformation中可以調用的環節列表,可以通過鼠標拖動的方式對環節進行添加。

Input:輸入環節

Output:輸出環節

Lookup:查詢環節

Transform:轉化環節

Joins:連接環節

Scripting:腳本環節

      
4.3 Transformation轉換介紹
ž每一個環節可以通過鼠標拖動來將環節添加到主窗口中。
ž並可通過shift+鼠標拖動,實現環節之間的連接。
ž轉換常用環節介紹

類別

環節名稱

功能說明

Input

文本文件輸入

從本地文本文件輸入數據

表輸入

從數據庫表中輸入數據

獲取系統信息

讀取系統信息輸入數據

Output

文本文件輸出

將處理結果輸出到文本文件

表輸出

將處理結果輸出到數據庫表

插入/更新

根據處理結果對數據庫表機型插入更新,如果數據庫中不存在相關記錄則插入,否則爲更新。會根據查詢條件中字段進行判斷

更新

根據處理結果對數據庫進行更新,若需要更新的數據在數據庫表中無記錄,則會報錯停止

刪除

根據處理結果對數據庫記錄進行刪除,若需要刪除的數據在數據庫表中無記錄,則會報錯停止

Lookup

數據庫查詢

根據設定的查詢條件,對目標表進行查詢,返回需要的結果字段

流查詢

將目標表讀取到內存,通過查詢條件對內存中數據集進行查詢

調用DB存儲過程

調用數據庫存儲過程

Transform

字段選擇

選擇需要的字段,過濾掉不要的字段,也可做數據庫字段對應

過濾記錄

根據條件對記錄進行分類

排序記錄

將數據根據某以條件,進行排序

空操作

無操作

增加常量

增加需要的常量字段

Scripting

Modified Java Script Value

擴展功能,編寫JavaScript腳本,對數據進行相應處理

Mapping

映射(子轉換)

數據映射

Job

Sat Variables

設置環境變量

Get Variables

獲取環境變量

4.3 Job任務介紹

Main Tree菜單列出的是一個Job中基本的屬性,可以通過各個節點來查看。

DB連接:顯示當前Job中的數據庫連接,每一個Job的數據庫連接都需要單獨配置。

Job entries:一個Job中引用的環節列表

         

Job entries菜單列出的是Job中可以調用的環節列表,可以通過鼠標拖動的方式對環節進行添加。

每一個環節可以通過鼠標拖動來將環節添加到主窗口中。

並可通過shift+鼠標拖動,實現環節之間的連接。

      
ž常用環節介紹

類別

環節名稱

功能說明

Job entries

START

開始

DUMMY

結束

Transformation

引用Transformation流程

Job

引用Job流程

Shell

調用Shell腳本

SQL

執行sql語句

FTP

通過FTP下載

Table exists

檢查目標表是否存在,返回布爾值

File exists

檢查文件是否存在,返回布爾值

Javascript

執行JavaScript腳本

Create file

創建文件

Delete file

刪除文件

Wait for file

等待文件,文件出現後繼續下一個環節

File Compare

文件比較,返回布爾值

Wait for

等待時間,設定一段時間,kettle流程處於等待狀態

Zip file

壓縮文件爲ZIP包



發佈了6 篇原創文章 · 獲贊 8 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章