ETL利器Kettle實戰應用解析系列一【Kettle使用介紹】

本系列文章主要索引以下:html

1、ETL利器Kettle實戰應用解析系列一【Kettle使用介紹】java

2、ETL利器Kettle實戰應用解析系列二 【應用場景和實戰DEMO下載】程序員

3、ETL利器Kettle實戰應用解析系列三 【ETL後臺進程執行配置方式】sql

本文主要閱讀目錄以下:數據庫

一、Kettle概念windows

二、下載和部署app

三、Kettle環境配置工具

四、Kettle使用及組件介紹post

 

ETL(Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程),對於企業或行業應用來講,咱們常常會遇到各類數據的處理,轉換,遷移,因此瞭解並掌握一種etl工具的使用,必不可少,這裏我介紹一個我在工做中使用了3年左右的ETL工具Kettle,本着好東西不獨享的想法,跟你們分享碰撞交流一下!在使用中我感受這個工具真的很強大,支持圖形化的GUI設計界面,而後能夠以工做流的形式流轉,在作一些簡單或複雜的數據抽取、質量檢測、數據清洗、數據轉換、數據過濾等方面有着比較穩定的表現,其中最主要的咱們經過熟練的應用它,減小了很是多的研發工做量,提升了咱們的工做效率,不過對於我這個.net研發者來講惟一的遺憾就是這個工具是Java編寫的。測試

一、Kettle概念

Kettle是一款國外開源的ETL工具,純java編寫,能夠在Window、Linux、Unix上運行,綠色無需安裝,數據抽取高效穩定。

Kettle 中文名稱叫水壺,該項目的主程序員MATT 但願把各類數據放到一個壺裏,而後以一種指定的格式流出。

Kettle這個ETL工具集,它容許你管理來自不一樣數據庫的數據,經過提供一個圖形化的用戶環境來描述你想作什麼,而不是你想怎麼作。

Kettle中有兩種腳本文件,transformation和job,transformation完成針對數據的基礎轉換,job則完成整個工做流的控制。

二、下載和部署

žKettle能夠在 http://kettle.pentaho.org/網站下載
ž
ž下載kettle壓縮包,因kettle爲綠色軟件,解壓縮到任意本地路徑便可

三、Kettle環境配置(有Java環境的直接忽略此章節)

三、1 安裝java JDK

1)首先到官網上下載對應JDK包,JDK1.5或以上版本就行;

2)安裝JDK;

3)配置環境變量,附配置方式:

安裝完成後,還要對它進行相關的配置纔可使用,先來設置一些環境變量,對於Java來講,最須要設置的環境變量是系統路徑變量path。

(1)要打開環境變量的設置窗口。右擊「個人電腦」,在彈出的快捷菜單中選擇「屬性」選項,進入「系統屬性」對話框,如圖所示。選擇「高級」標籤,進入「高級」選項卡,再單擊「環境變量」按鈕,進入「環境變量」對話框,如圖所示:

(2)在「Administrator的用戶變量」列表框中,選擇變量PATH,待其所在行變高亮後,單擊「編輯」按鈕,如圖所示。

(3)在彈出的「編輯系統變量」對話框中,將JDK安裝路徑下的bin目錄路徑設置到Path變量中,如圖所示。

編輯完後,單擊「肯定」按鈕,進行保存,環境變量Path的設置就正式完成。

注意:設置Path變量的路徑,必須是JDK安裝目錄中的bin目錄,有時候在JDK安裝目錄的同一層會有JRE的安裝目錄,所以請謹慎選取相關路徑,避免將路徑設置成JRE目錄下的bin目錄。

三、2 測試JDK配置是否成功

設置好環境變量後,就能夠對剛設置好的變量進行測試,並檢測Java是否能夠運行。

(1)單擊「開始」按鈕,選擇「運行」選項,在「運行」對話框中輸入cmd命令。

(2)以後單擊「肯定」按鈕,打開命令行窗口。

(3)在光標處輸入:javac命令,按下Enter鍵執行,便可看到測試結果

三、3 運行Kettle

ž進入到Kettle目錄,若是Kettle部署在windows環境下,雙擊運行spoon.bat或Kettle.exe文件,出現以下界面:
這樣配置環境這一塊基本上就完成了。
四、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包

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
你們若是閱讀了本系列文章感受有用的話就狂點【推薦】啊哈哈!
 
 
相關文章
相關標籤/搜索